close
顏色意義:關鍵字、數字、字串、註解、重點 Unity-API : 在這裡
語法類:
基本輸出 | print("萌"); |
設定GUI-Text | guiText.text = "萌"; |
移動GUI-Text | guiText.pixelOffset.x = 5; |
鍵盤輸入控制 | if(Input.GetKey("space")){ // 鍵盤按下後,要執行的程式碼,字串必須為小寫 } |
鍵盤按下輸入控制 | if(Input.GetKeyDown("space")){// 鍵盤按下後,要執行的程式碼,字串必須為小寫} |
計時器(秒) |
var t : float = Time.time; |
GUI按鈕控制 | if(GUI.Button(Rect(x,y,w,h),"ABC")){ // 按鈕按下後,要執行的程式碼 } |
取亂數 | var f : float = Random.Range(1,7); // 產生1~6,無7 |
設定GUI-Label | GUI.Label(Rect(x,y,w,h),"ABC"); |
播放動畫 | animation.Play("動畫名稱"); // 動畫名稱要從外部控制面板命名 |
播放混合動畫 | animation.CrossFade("動畫名稱"); // 動畫名稱要從外部控制面板命名 |
取得物件速度 | var s : float = rigidbody.velocity.magnitude; |
物件加速 (場景座標) | rigidbody.AddForce(transform.forward * 5); |
物件加速 (物體座標) | rigidbody.AddRelativeForce(transform.forward * 5); |
捨小數 | var i : int= Mathf.Floor(3.333); // i = 3 |
取 0~1 | var i : int = Mathf.Clamp01(0.9) // i = 0, 如果大於1 輸出1,如果小於1 輸出0 |
停止遊戲物件 | gameObject.active = false; |
加入 Texture | var tt = Texture; // Texture 要從外部控制面板拉入 GUI.DrawTexture(Rect(x,y,w,h),tt); |
改變GUI風格 | var gs = GUIStyle; // GUIStyle 要從外部控制面板設定 GUI.Label(Rect(x,y,w,h),"ABC",gs); // 例子,其他GUI意同 |
碰撞後呼叫函式 | // ★外部控制面板 Collider 中的 Is Trigger 要打勾 function OnTriggerEnter( c : Collider ){ // 碰撞後要執行的程式碼 } // c 為外部碰撞的遊戲物件(GameObject) |
碰撞後取得標籤名 tag名 |
// ★ tag 要在外部控制面板 加入並設定 tag 名稱,最後將 tag 套用於物件上, // tag 名稱開頭一定要大寫,如:Player、Aaa、Bbb、Ccc、Ddd // 碰撞物還必須設定 rigidbody , 重力可設為0 function OnTriggerEnter( c : Collider ){ if(c.tag == "Player"){} } |
碰撞後瞬間移動 位置 |
function OnTriggerEnter( c : Collider ){ if(c.tag == "Player"){ c.transform.position = Vector(x,y,z); } } |
瞬間移動物件 | transform.position = Vector3(x,y,z); |
平滑旋轉物件 | transform.Rotate(x, y, z); |
取得當前物件座標 | var x : float = transform.position.x; |
刪除本地物件 | Destroy(gameObject); |
切換場景 | //使用數字控制要在外部 File→Build Settings→Scens In Build 設定場景順序 Application.LoadLevel(0); // 切換到場景 0 Application.LoadLevel(1); // 切換到場景 1 Application.LoadLevel(2); // 切換到場景 2 // 使用文字控制是使用場景檔案名稱,例如 Level1.unity 檔,只要輸入 Level1 即可 Application.LoadLevel("Level1"); // 切換到場景 Level1 Application.LoadLevel("Level2"); // 切換到場景 Level2 |
加入已預製好的物件 到場景中 |
GameObject aaa; // 要把預製物件套用至 aaa 控制面板中 Instantiate(aaa,Vector3(x,y,z),Quaternion.identity); |
每FPS維持等速度 | Time.deltaTime |
按鍵輸入,水平控制 " W D ← → " 等 按鍵之移動數值取得 |
Input.GetAxisRaw("Horizontal") |
物件右移動1 | transform.Translate(Vector3.right); |
物件右移動2 | transform.Translate(Vector3(1,0,0)); |
取得目前遊戲解析度 | var w : int = Screen.width; var h : int = Screen.height; |
判斷滑鼠按鍵 | if(Input.GetMouseButtonDown(0)) // 滑鼠左鍵 if(Input.GetMouseButtonDown(1)) // 滑鼠右鍵 if(Input.GetMouseButtonDown(2)) // 滑鼠中鍵 |
持續移動物件 | transform.Translate( Vector3(0, 0, 1) ); transform.Translate( Vector3.up ); |
取得三軸加速器狀態 (Android, iPhone) |
// 可以取得 x , y , z 三軸加速座標 ( 本範例只取得 x ) var x : float = Input.acceleration.x |
旋轉物件到指定角度 | transform.rotation = Quaternion.Euler(0, 0, 0); // 與設定外部控制面板一樣 |
建立重複按鈕 按下按鈕為 true 直到放開才為 false |
void OnGUI{ // 如果用戶將按鈕按下,三秒後放開。殺必死會持續列印到放開按鈕 (例如印 100次) if(GUI.RepeatButton(Rect(0,0,50,20),"萌")){ print("殺必死"); } } |
建立按鈕 按下按鈕為 true 但馬上就變成 false |
void OnGUI{ // 如果用戶將按鈕按下,三秒後放開。殺必死只會被列印一次 if(GUI.Button(Rect(0,0,50,20),"萌")){ print("殺必死"); } } |
更改 GUI 樣式 | var a : GUISkin ; // 要從外部新建一個 GUISkin 並從控制面板拉進來 function OnGUI () { GUI.skin = a; GUILayout.Label("萌"); // 此文字會依造外部 GUISyin 設定檔而改變 } |
播放聲音 | // 要從外部建立一個空物件,並給予一個 AudioSource 元件, // 再將mp3音樂檔拖曳進AudioSource中,之後再將這空物件再拖曳進此腳本中。 // 如果要重複撥放,請在外部 AudioSource 設定 var sound : AudioSource; function Start(){ sound.Play(); // 撥放 // sound.pitch = 1; // (可選) 改變音調。例如在賽車遊戲中控制引擎聲。 // sound.Stop(); // (可選) 停止 } |
當前攝影機拍照 | // 使用絕對路徑存圖片該資料夾一定要存在,他不會自動幫你建立資料夾。 // 如果該資料夾已有相同檔案名稱,將會覆蓋該圖片。 Application.CaptureScreenshot("Loli.png"); // 預設為該遊戲(專案)資料夾路徑 Application.CaptureScreenshot("D:/Loli.png"); // 指定資料夾路徑 |
打開特定網頁 | Application.OpenURL ("http://lolikitty.pixnet.net/"); |
目前網路狀態 | Network.TestConnection() // 更詳細的說明請*點這裡* |
偵測 公開IP 或 私人IP |
if(Network.HavePublicAddress){ /* 公開IP */ }else { /* 私人IP */ } |
初始化伺服器1 | Network.InitializeServer(5, 88, true); // 可以連入5人,Port=88,使用NAT穿透 |
初始化伺服器2 | Network.InitializeServer(5, 88, false); // 可以連入5人,Port=88,不使用NAT穿透 |
初始化伺服器3 | // 可以連入 5 人,Port = 88,自動設定偵測是否要NAT穿透 Network.InitializeServer(5, 88, ! Network.HavePublicAddress()); |
將伺服器設定密碼 | Network.incomingPassword = "abcABC1234"; // 最好寫在初始化伺服器前 |
結束遊戲呼叫方法 | void OnApplicationQuit(){} // 開發階段也有效 |
強制結束遊戲 | Application.Quit(); |
介面設定 (非語法類):
陰影顯示範圍 | Edit→Project Setting→Quality 依造你的畫質 Fastest / Fast / Simple / Good / Beautiful / Fantastic 修改 Shadow Distance 的值 (例如 1000 ,越大看得越遠) |
其他重點:
開發手機遊戲時 模型大小不可以超過 200 ,否則Unity會自動把陰影關閉 (如果遊戲不使用陰影的話則無此限制)。
全站熱搜
留言列表