Unity實(shí)現(xiàn)跑馬燈抽獎(jiǎng)效果
Unity 跑馬燈抽獎(jiǎng)效果實(shí)現(xiàn)代碼,供大家參考,具體內(nèi)容如下
這邊用到插件是NGUI+Dotween,思路簡(jiǎn)單說(shuō)下:先排版,通過(guò)移動(dòng)圖片蒙版來(lái)實(shí)現(xiàn)效果。
下面是排版和文件目錄。
代碼部分是通過(guò)余數(shù)去確認(rèn)停的位置,boxlist通過(guò)unity拖拉加入數(shù)據(jù),chooseBoxList直接通過(guò)余數(shù)判斷添加。
代碼量很少,稍微看下就明白了。
直接上代碼了:
using System; using System.Collections; using System.Collections.Generic; using DG.Tweening; using UnityEngine; public class goLuckyDraw : MonoBehaviour { private int index = 23; //index%12 來(lái)判斷停在哪個(gè)位置 // Use this for initialization private UISprite prize1,prize2,prize3,prize4,prize5,prize6,prize7,prize8,prize9,prize10,prize11,prize12, prize13, prize14; private UISprite transparentBox; public List<Transform> boxList = new List<Transform>(); public List<Transform> chooseBoxList = new List<Transform>(); void Start () { prize1 = GameObject.Find("Lucky/Bg/prize1").GetComponent<UISprite>(); prize2 = GameObject.Find("Lucky/Bg/prize2").GetComponent<UISprite>(); prize3 = GameObject.Find("Lucky/Bg/prize3").GetComponent<UISprite>(); prize4 = GameObject.Find("Lucky/Bg/prize4").GetComponent<UISprite>(); prize5 = GameObject.Find("Lucky/Bg/prize5").GetComponent<UISprite>(); prize6 = GameObject.Find("Lucky/Bg/prize6").GetComponent<UISprite>(); prize7 = GameObject.Find("Lucky/Bg/prize7").GetComponent<UISprite>(); prize8 = GameObject.Find("Lucky/Bg/prize8").GetComponent<UISprite>(); prize9 = GameObject.Find("Lucky/Bg/prize9").GetComponent<UISprite>(); prize10 = GameObject.Find("Lucky/Bg/prize10").GetComponent<UISprite>(); prize11 = GameObject.Find("Lucky/Bg/prize11").GetComponent<UISprite>(); prize12 = GameObject.Find("Lucky/Bg/prize12").GetComponent<UISprite>(); prize13 = GameObject.Find("Lucky/Bg/prize13").GetComponent<UISprite>(); prize14 = GameObject.Find("Lucky/Bg/prize14").GetComponent<UISprite>(); transparentBox = GameObject.Find("Bg/Transparentbox").GetComponent<UISprite>(); transparentBox.gameObject.SetActive(false); //獲取需要監(jiān)聽(tīng)的按鈕對(duì)象 GameObject button = GameObject.Find("Lucky/Bg/start"); //設(shè)置這個(gè)按鈕的監(jiān)聽(tīng),指向本類(lèi)的ButtonClick方法中。 UIEventListener.Get(button).onClick = StartLuckyDraw; chooseIndex(index); // StartLuckyDraw(); } IEnumerator Move( ) { float time; for (int i = 0; i < boxList.Count; i++) { time = Mathf.Lerp(0.04f, 0.05f, 0.05f*i); Debug.Log("---time----="+time); transparentBox.transform.DOLocalMove(boxList[i].localPosition, time); yield return new WaitForSeconds(0.05f); } for (int i = 0; i < boxList.Count; i++) { time = Mathf.Lerp(0.05f, 0.065f, 0.05f * i); Debug.Log("---time3----=" + time); transparentBox.transform.DOLocalMove(boxList[i].localPosition, time); yield return new WaitForSeconds(0.05f); } for (int i = 0; i < boxList.Count; i++) { time = Mathf.Lerp(0.065f, 0.08f, 0.05f * i); Debug.Log("---time2----=" + time); transparentBox.transform.DOLocalMove(boxList[i].localPosition, time); yield return new WaitForSeconds(0.05f); } for (int i = 0; i < chooseBoxList.Count; i++) { transparentBox.transform.DOLocalMove(chooseBoxList[i].localPosition,0.1f); yield return new WaitForSeconds(0.1f); } yield return new WaitForSeconds(2f); transparentBox.gameObject.SetActive(false); } private void chooseIndex(int index) { chooseBoxList.Clear(); for (int i = 0; i < index % 12; i++) { chooseBoxList.Add(boxList[i]); } } private void StartLuckyDraw(GameObject go) { transparentBox.gameObject.SetActive(true); StartCoroutine(Move()); } void Update () { } }
代碼很糙,大家自己完善吧!
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
C# 設(shè)計(jì)模式系列教程-簡(jiǎn)單工廠模式
簡(jiǎn)單工廠模式職責(zé)單一,實(shí)現(xiàn)簡(jiǎn)單,且實(shí)現(xiàn)了客戶端代碼與具體實(shí)現(xiàn)的解耦。2016-06-06C# 常用協(xié)議實(shí)現(xiàn)模版及FixedSizeReceiveFilter示例(SuperSocket入門(mén))
本文主要介紹了常用協(xié)議實(shí)現(xiàn)模版及FixedSizeReceiveFilter示例。具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧2017-01-01c#調(diào)用api控制windows關(guān)機(jī)示例(可以重啟/注銷(xiāo))
本文介紹了c#控制windows關(guān)機(jī)、重啟、注銷(xiāo)的二種方法,分為調(diào)用windows自帶的shutdown.exe關(guān)機(jī)和調(diào)用API關(guān)機(jī)的方法2014-01-01Unity UGUI實(shí)現(xiàn)滑動(dòng)翻頁(yè)效果
這篇文章主要為大家詳細(xì)介紹了Unity UGUI實(shí)現(xiàn)滑動(dòng)翻頁(yè)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-04-04