一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - C# - Unity 2017使用UGUI實現(xiàn)大轉(zhuǎn)盤抽獎

Unity 2017使用UGUI實現(xiàn)大轉(zhuǎn)盤抽獎

2022-03-10 13:55伊卡-牛牛 C#

這篇文章主要為大家詳細介紹了Unity 2017使用UGUI實現(xiàn)大轉(zhuǎn)盤抽獎,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了unity 2017實現(xiàn)大轉(zhuǎn)盤抽獎的具體代碼,供大家參考,具體內(nèi)容如下

涉及到的插件:dotween

在“hierarchy”面板創(chuàng)建一個image,這個image用來顯示大轉(zhuǎn)盤的那個圓盤,我用的ugui里默認的那個圓圓的圖片,放大后很模糊,不過不打緊

Unity 2017使用UGUI實現(xiàn)大轉(zhuǎn)盤抽獎

接著創(chuàng)建一個panel名字改成“獎品組”,這個是獎品的父物體,記得吧panel里的image,canvas renderer組件刪了
然后在創(chuàng)建一個panel名字改成“awar”用制作獎品的,一樣的吧image,canvasrenderer組件刪除

然后在awar中創(chuàng)建image,text,分別吧名字改為“ico,desc”,然后設(shè)置一下自己想要的效果,我設(shè)置的ico上方,desc下方

如圖:

Unity 2017使用UGUI實現(xiàn)大轉(zhuǎn)盤抽獎

結(jié)構(gòu)圖:

Unity 2017使用UGUI實現(xiàn)大轉(zhuǎn)盤抽獎

*需要注意的地方:把awar的小藍點移動到圓盤的中心如圖:

Unity 2017使用UGUI實現(xiàn)大轉(zhuǎn)盤抽獎

如果這步?jīng)]做后面的自動生成代碼生成就不準嘍

然后寫一個代碼:生成的腳本

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class generateawar:monobehaviour{
 public gameobject awargameobject; //上面制作的awar物體
 public int count = 10; // 生成個數(shù),當你根據(jù)數(shù)據(jù)生成個數(shù)的時候記得修改
 
 void onenable ()
 {
  var angle = 360 / count; // 計算每個獎品的z軸度數(shù)
  var additionangle = 0; //當前角度
  for (var i = 0; i < count; i++)
  {
   var obj = instantiate(awargameobject);
   additionangle = angle + additionangle;
   obj.transform.rotate(vector3.forward,additionangle);
   log.error(obj.transform.localrotation.eulerangles.z);
   obj.transform.setparent(transform,false);
   obj.setactive(true);
  }
 }
}

然后掛到”獎品組“身上
如:

Unity 2017使用UGUI實現(xiàn)大轉(zhuǎn)盤抽獎

那個獎品就是awar,我名字改不回來了,似乎是unity的問題,哇哈哈哈
然后運行,就能看到如圖效果:

Unity 2017使用UGUI實現(xiàn)大轉(zhuǎn)盤抽獎

然后創(chuàng)建一個指針放在中心編寫一個腳本:旋轉(zhuǎn)指針的腳本

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
//這個腳本掛在指針身上,
//然后在抽獎按鈕的button事件里拖入指針選擇這個類的settime方法
public class rotatepointer : monobehaviour
{
 
 private bool _isrotate = false;//是否旋轉(zhuǎn)
 public float continuoustime = 2;//旋轉(zhuǎn)時間
 public float speed = 2000;//旋轉(zhuǎn)速度
 public float angle = 0; // 這個是設(shè)置停止的角度
 private float _time;
 // update is called once per frame
 void update () {
 
  if (!_isrotate)return; //不旋轉(zhuǎn)結(jié)束
 
  if (time.time < _time) // 沒結(jié)束
  {
   transform.rotate(vector3.forward * speed * time.deltatime);
  }
  else
  {
  //結(jié)束,使用dotween旋轉(zhuǎn)到結(jié)束角度,耗時1秒
  //這里有個360,使用來防止指針回轉(zhuǎn)的,如果不加這個360,你會看到指針倒退
   transform.dorotate(new vector3(0, 0, 360 + angle), 1f, rotatemode.fastbeyond360);
   _isrotate = false; // 設(shè)置不旋轉(zhuǎn)
  }
 }
 
 //外部調(diào)用,初始化時間和打開旋轉(zhuǎn)
 public void settime()
 {
  _time = time.time + continuoustime;
  _isrotate = true;
 }
 //外部調(diào)用,設(shè)置停止角度
 public void setangle(float angle)
 {
  angle = angle;
 }
}

指針:

Unity 2017使用UGUI實現(xiàn)大轉(zhuǎn)盤抽獎

開始按鈕:

Unity 2017使用UGUI實現(xiàn)大轉(zhuǎn)盤抽獎

因為電腦上沒什么制作動圖的軟件,如果效果我就結(jié)束,旋轉(zhuǎn)個1張

旋轉(zhuǎn):

Unity 2017使用UGUI實現(xiàn)大轉(zhuǎn)盤抽獎

結(jié)束:

Unity 2017使用UGUI實現(xiàn)大轉(zhuǎn)盤抽獎

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持服務(wù)器之家。

原文鏈接:https://blog.csdn.net/yikalyosi/article/details/73550358

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日韩操片| 亚洲视频在线观看地址 | 乌克兰肥熟| 外国黄色软件 | 国产一级精品高清一级毛片 | 偷偷狠狠的日日高清完整视频 | 亚洲天堂男人天堂 | 久久er国产免费精品 | 免费国产成人高清视频网站 | 亚洲国产精品综合久久一线 | 91桃花视频 | 冰山美人调教耻辱h | 激情影院免费 | 蜜桃成熟时1997在线看免费看 | 99视频都是精品热在线播放 | 国产精品久久久久久福利 | 国产精品久久久久jk制服 | 免费岛国片 | 男男playh片在线观看 | 国产精品久久国产精品99 gif | 美女主播免费观看 | 五月色综合婷婷综合俺来也 | 欧美一区二区三区精品国产 | 古装床戏做爰无遮挡三级 | 99超级碰碰成人香蕉网 | 1769亚洲资源站365在线 | 欧美高清无砖专区欧美精品 | 国产免费一区二区三区免费视频 | 狠狠躁夜夜躁人人爽天天miya | 成人影院入口 | 秋霞色| 精品国产自在现线久久 | 精品亚洲永久免费精品 | 草草草视频在线观看 | 亚洲网色 | 给我一个黄色网址 | 国产一区二区不卡视频 | www.伊人| 我的年轻漂亮继坶三级 | 日本精品一区二区三区 | 亚洲国产精品一在线观看 |