首先理清思路,計時器的核心要素是計時的總時長和時間間隔需要均勻一秒,要實現(xiàn)的功能是在總時長的基礎(chǔ)上實現(xiàn)等時間間隔減秒,并且減到0后終止。
其中最為關(guān)鍵的問題就是怎么得到均勻的時間間隔1秒,所以我們需要知道:
- Time.time 表示從游戲開發(fā)到現(xiàn)在的時間,會隨著游戲的暫停而停止計算。
- Time.timeSinceLevelLoad 表示從當(dāng)前Scene開始到目前為止的時間,也會隨著暫停操作而停止。
?所以,既然需要倒計時,那么Time.time就能實現(xiàn)基礎(chǔ)的計時功能。
在此基礎(chǔ)上,在Update()方法中用總時長減去Time.time就能實現(xiàn)倒計時功能。
在text文本顯示之前判斷是否減到了0,減到0就return中斷,在此需要注意text的文本默認類型是字符串string類型,而unity的Time.time計時默認是浮點型,為了防止一大串?dāng)?shù)字在屏幕上亂跳所以我們需要顯示的類型是int整形。
因此,需要先把計時的浮點類型轉(zhuǎn)換為int類型,再把轉(zhuǎn)換好的int整型轉(zhuǎn)換為字符串string類型顯示出來。文章來源:http://www.zghlxwxcb.cn/news/detail-585753.html
using UnityEngine;
using UnityEngine.UI;
public class timeLimit : MonoBehaviour {
public Text timer;
public int maxTime;
void Start()
{
maxTime = 20;
}
void Update()
{
if (Time.time >= maxTime)
{
return;
}
timer.text = ((int)(maxTime - Time.time)).ToString();
}
}
具體操作:在外界創(chuàng)建好UI文本,把寫好上述代碼的腳本拖入text中或它的父層級,再把text文本拖入腳本組件的timer中,text里可以寫總時長也可以清空,然后可以根據(jù)需要在Start()函數(shù)中修改maxTime的值即把自己需要的總時長進行初始化。文章來源地址http://www.zghlxwxcb.cn/news/detail-585753.html
到了這里,關(guān)于unity如何制作簡易倒計時器的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!