今天來寫些腳本的東西 熟悉一下unity3D 實際上是怎麼去運作的吧
1 一樣 我們先創造一個新場景吧點上面選項file/new scene
2 既然今天重點是寫腳本 我們就先創建一個腳本吧
如下圖的方式去創造一個記得要去改成自己要的腳本名稱
3 就會得到如下的腳本初始狀態 這邊是用C#喲
4 接下來就寫出如下圖的內容 等等來解釋
5 如上圖你會發現我只用了一個public GUITexture 也是這邊的重點
因為有用到它 所以等等場景上面我們就必須要去創造一個這個gameObject
6 記得把那個物件的名稱改成程式碼GameObject.Find("Gui_timeText").GetComponent<GUIText>();
那當中的Gui_timeText
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();
直接把秒數印出來
}
}
}
全站熱搜
留言列表