今天來寫些腳本的東西  熟悉一下unity3D 實際上是怎麼去運作的吧

1 一樣  我們先創造一個新場景吧點上面選項file/new scene

1  

2 既然今天重點是寫腳本   我們就先創建一個腳本吧

如下圖的方式去創造一個記得要去改成自己要的腳本名稱

2  

3  

3  就會得到如下的腳本初始狀態   這邊是用C#喲

4  

4  接下來就寫出如下圖的內容  等等來解釋

5  

5  如上圖你會發現我只用了一個public GUITexture  也是這邊的重點

      因為有用到它   所以等等場景上面我們就必須要去創造一個這個gameObject

6  

6  記得把那個物件的名稱改成程式碼GameObject.Find("Gui_timeText").GetComponent<GUIText>();

那當中的Gui_timeText  

7  

7  好了到目前為止的東西都準備好了  接下來把這張Test.cs的腳本拉到Main Camerag上面吧

接著執行程式

這個程式在做的事情是從1數到10然後秀出Welcome unity3D!!!!!!

之後把自己這個腳本從物件上移除

 

接下來解釋這程式碼寫了什麼

 

using UnityEngine;
using System.Collections; public class Test : MonoBehaviour { public GUIText gui_timeText;
如上所說 這是GUIText 的腳本主要是改變畫面上的字而已 public float i_update_time =10;
這是一個定植我設定成10秒 private float i_tmpUpdate_time = 0;
這是為了拿來現在過了幾秒用的暫存值 void Awake() { Debug.Log ("Awake"); gui_timeText = GameObject.Find("Gui_timeText").GetComponent<GUIText>();
因為我只有宣告gui_timeText而已 還沒指定 所以才透過GameObject.Find這樣的方法去找出
場景上名稱叫做Gui_timeText的GameObject並取得它上面的GUIText腳本來使用 } // Use this for initialization void Start () { Debug.Log ("Start"); gui_timeText.text = ""; i_tmpUpdate_time = 0;
初始化而已沒幹嗎 } // Update is called once per frame void Update () { Debug.Log ("Update"); i_tmpUpdate_time += Time.deltaTime;
每進來一次update就會+一次 Time.deltaTime 每次今來的數字大概等於0.33333333 if(i_tmpUpdate_time>i_update_time) { 假設時間超過10秒就來這裏
gui_timeText.text="Welcome unity3D!!!!!!";
顯示這串字 Destroy(gameObject.GetComponent<Test>()); 移除自己這個腳本
} else { 沒超過十秒就來這裡
int i_tmp = (int)i_tmpUpdate_time; gui_timeText.text = i_tmp.ToString();
直接把秒數印出來 } } }
arrow
arrow
    全站熱搜

    cwa1022 發表在 痞客邦 留言(0) 人氣()