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

服務(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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美亚洲国产精品久久久 | 国语刺激对白勾搭视频在线观看 | 成人1234 | 欧美日韩亚洲另类人人澡 | 精品一久久香蕉国产线看观 | 成人免费视频播放 | 4tube欧美高清 | 日本国产一区二区三区 | 欧洲一级| 久久精品亚洲精品国产欧美 | 男人疯狂擦进女人下面 | 国产精品香蕉在线观看不卡 | 亚洲 欧美 日本 国产 高清 | 四虎成人免费观看在线网址 | 国产做a爰片久久毛片 | 亚洲国产福利精品一区二区 | 99久久国产亚洲综合精品 | 日韩精品免费一区二区三区 | 被教官揉了一晚上的奶小说 | www.四虎在线| 5g996未满十八 | 98pao强力打造高清免费 | 岛国虐乳紧缚媚药调教 | 亚洲人成网站在线观看青青 | 精品一区二区三区在线视频观看 | 女王厕便器vk| 男人狂躁女人下面的视频免费 | 韩国女主播一区二区视频 | 四虎伊人| 国产精品视频在这里有精品 | 好大好硬好深好爽想要之黄蓉 | 五月天视频网 | 亚洲精品一区二区三区在线看 | 日韩一卡2卡3卡新区网站 | 肥奶丰熟肥妇 | 99热国产在线 | 亚洲国产精品成人综合久久久 | 国内精品自产拍在线观看91 | 欧美兽皇另类 | 亚洲欧美成人综合 | 日本xxxx69hd|