由於最新版的unity已經不支持javascript語言啦,本人又是個C#小白,所以記錄一下自己寫的腳本。
first 創建一個模型,放在平面上,調整下角度,就像這樣:
然后寫一個腳本來控制模型移動:
public class NewBehaviourScript : MonoBehaviour { //首先定義兩個變量,public是公有變量,在程序中可以直接訪問,私有變量只能在腳本中訪問 //此處定義模型移動速度以及模型旋轉速度 public int TranslateSpeed = 20; public int RotateSpeed = 1000; //OnGUI方法繪制頁面組件 void OnGUI() { //設置GUI背景顏色 GUI.backgroundColor = Color.red; //GUI.Button設置一個按鈕,返回true時表示按鈕被按下 //Rect一個由X和Y位置、寬度和高度定義的2D矩形 if (GUI.Button(new Rect(10, 10, 70, 30), "向左旋轉")) { //向左旋轉模型 transform.Rotate(Vector3.up * Time.deltaTime * (-RotateSpeed)); //transform為當前綁定模型的變換對象 //Vector3.up = Vector3(0, 1, 0) //Vector3表示三維向量x,y,z,此處向左旋轉,括號中負號應該表示沿y軸逆時針 //Time.deltaTime只讀屬性,表示完成最后一幀的時間,單位為秒 } if (GUI.Button(new Rect(90, 10, 70, 30), "向前移動")) { //向前移動模型 transform.Translate(Vector3.forward * Time.deltaTime * TranslateSpeed); //Vector3(0, 0, 1) } if (GUI.Button(new Rect(170, 10, 70, 30), "向右旋轉")) { //向右旋轉模型 transform.Rotate(Vector3.up * Time.deltaTime * RotateSpeed); } if (GUI.Button(new Rect(90, 50, 70, 30), "向后移動")) { //向后移動模型 transform.Translate(Vector3.forward * Time.deltaTime * (-TranslateSpeed)); } if (GUI.Button(new Rect(10, 50, 70, 30), "向左移動")) { //向左移動模型 transform.Translate(Vector3.right * Time.deltaTime * (-TranslateSpeed)); //Vector3(1, 0, 0) } if (GUI.Button(new Rect(170, 50, 70, 30), "向右移動")) { //向右移動模型 transform.Translate(Vector3.right * Time.deltaTime * TranslateSpeed); } //GUI.Label設置一個文本框 //顯示模型位置信息 GUI.Label(new Rect(250, 10, 200, 30), "模型的位置" + transform.position); //顯示模型旋轉信息 GUI.Label(new Rect(250, 50, 200, 30), "模型的旋轉" + transform.rotation); } }
腳本寫完了以后會發現我們定義的變量出現在模型的屬性欄里了
然后點擊play,就出現了這樣的界面:
我把腳本綁定在立方體上啦,點擊左上角的按鈕它就會到處跑哦,由於我給它添加了剛體屬性,還會撞到其它模型,real有趣
emmm第一個實例 完成~
撒花~✿✿ヽ(°▽°)ノ✿