Unity C# 簡易倒數計時器

 

  • 此篇重點語法 * * * * *

→ InokeRepeating 重複呼叫(“函式名,第一次間隔幾秒呼叫,每幾秒呼叫一次)

  e.g. InvokeRepeating("timer", 1, 1);

 → CancelInvoke 取消重複呼叫(“函式名”)

   e.g. CancelInvoke("timer");

 

  • 此篇效果-簡易計時器 * * * * 

 

-  大概了解重點後,接下來進入完整教學   -

 

一、 在場景中新增一個Text (顯示倒數的數字)

        GameObjectUIText,放置到自己喜歡的位置。

UI_Text.jpg      UI_Text_02.jpg

   

 

二、 接下來就是撰寫程式碼  !

          1. 先新增一個C#,並拖曳到Text中。

UI_Text_03.jpg       UI_Text_04.jpg

 

2. 先看看完整程式碼下一點有程式碼解析  ! )

UI_Text_05_2.jpg

         檔案名稱與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. 程式碼解析 

UI_Text_05.jpg

 

using UnityEngine.UI;

//使用Unity UI程式庫。 (TextUI的一部份哦! 要使用就必須要加,不然會出現錯誤!)

 

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; 產生的欄位,放入指定物件。

UI_Text_06.jpg

  UI_Text_07.jpg

 

 

 

5. 大功告成!!!!!

 

 

 

  • 複習重點語法 * * * * *

→ InokeRepeating 重複呼叫(“函式名,第一次間隔幾秒呼叫,每幾秒呼叫一次)

  e.g. InvokeRepeating("timer", 1, 1);

 → CancelInvoke 取消重複呼叫(“函式名”)

   e.g. CancelInvoke("timer");

 

 

-------------------------------------------------------------------------------------------------------------------------------------

 

我們有粉絲專頁囉!!!       

如果怕有問題連絡不到我們,歡迎隨時私訊FB粉專哦!!!

https://www.facebook.com/Straying2018/

 

●     如果這篇文章有幫助到您,希望您能留言給予我們鼓勵 !  

●     對於文章有任何的建議,非常歡迎留言告訴我們哦 !!!  

●     有任何想知道的功能也歡迎告訴我們,我們會盡快寫成部落格分享給大家 !

 

- By Cindy -        

 

arrow
arrow
    創作者介紹
    創作者 『迷途』 的頭像
    『迷途』

    迷途 - Unity 工作室

    『迷途』 發表在 痞客邦 留言(5) 人氣()