Unity C# 簡易倒數計時器
- 此篇重點語法 * * * * *
→ InokeRepeating 重複呼叫(“函式名”,第一次間隔幾秒呼叫,每幾秒呼叫一次)。
e.g. InvokeRepeating("timer", 1, 1);
→ CancelInvoke 取消重複呼叫(“函式名”)。
e.g. CancelInvoke("timer");
- 此篇效果-簡易計時器 * * * *
- 大概了解重點後,接下來進入完整教學 -
一、 在場景中新增一個Text (顯示倒數的數字)。
GameObject→UI→Text,放置到自己喜歡的位置。
二、 接下來就是撰寫程式碼 !
1. 先新增一個C#,並拖曳到Text中。
2. 先看看完整程式碼 ( 下一點有程式碼解析 ! )
檔案名稱與public class的名稱記得要一樣哦!!! (不然會出現錯誤!)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI; //使用Unity UI程式庫。
public class time : MonoBehaviour {
int time_int = 3;
public Text time_UI;
void Start(){
InvokeRepeating("timer", 1, 1);
}
void timer(){
time_int -= 1;
time_UI.text = time_int + "";
if (time_int == 0) {
time_UI.text = "time\nup";
CancelInvoke("timer");
}
}
}
3. 程式碼解析
using UnityEngine.UI;
//使用Unity UI程式庫。 (Text是UI的一部份哦! 要使用就必須要加,不然會出現錯誤!)
int time_int = 3;
//宣告倒數的時間 (time_int )為整數( int) 3。
// int : 整數。
public Text time_UI;
//宣告顯示倒數時間的文字(程式碼完成後,要將Text放入!)。
//public 公開 –
在宣告前面加上public,程式碼底下會出現欄位,可以從外部放入指定的物件(要與宣告類型相同哦!)。
void Start(){ //一開始就執行倒數計時。
InvokeRepeating("timer", 1, 1);
//一秒後,每秒重複呼叫timer函式。(開始倒數計時)。
//InokeRepeating 重複呼叫(“函式名”,第一次間隔幾秒呼叫,每幾秒呼叫一次)。
}
void timer(){ //自訂一個函式叫做timer。
time_int -= 1;
//每次呼叫倒數的時間就扣1。
time_UI.text = time_int + "";
//將倒數的時間顯示在倒數時間的文字上。
if (time_int == 0) {
//如果倒數時間為0 (也就是時間到!)。
time_UI.text = "time\nup";
//倒數時間的文字上就會顯示time up。
// "\n" : 換行。
CancelInvoke("timer");
//取消重複呼叫timer函式。(停止倒數計時)
//CancelInvoke取消重複呼叫(“函式名”)。
}
}
4. 將剛剛宣告 public Text time_UI; 產生的欄位,放入指定物件。
5. 大功告成!!!!!
- 複習重點語法 * * * * *
→ InokeRepeating 重複呼叫(“函式名”,第一次間隔幾秒呼叫,每幾秒呼叫一次)。
e.g. InvokeRepeating("timer", 1, 1);
→ CancelInvoke 取消重複呼叫(“函式名”)。
e.g. CancelInvoke("timer");
-------------------------------------------------------------------------------------------------------------------------------------
我們有粉絲專頁囉!!!
如果怕有問題連絡不到我們,歡迎隨時私訊FB粉專哦!!!
https://www.facebook.com/Straying2018/
● 如果這篇文章有幫助到您,希望您能留言給予我們鼓勵 !
● 對於文章有任何的建議,非常歡迎留言告訴我們哦 !!!
● 有任何想知道的功能也歡迎告訴我們,我們會盡快寫成部落格分享給大家 !
- By Cindy -
留言列表