【學習筆記】Unity 系列,常用的 Script 程式碼 ★ 01

▼   註解方式

/* 中英文皆可 */  較長用

// 中英文皆可    較短用

  • 按鍵觸發 (通常寫在 Update 中)

if (Input.GetKey(“A“)){ }

// A 鍵被”按住時持續觸發(每個 frame 執行一次)

GetKeyDown “按下瞬間觸發一次GetKeyUp “放開瞬間觸發一次

  • 滑鼠觸發 (通常要另外寫一行)

void OnMouseDown(){ print (“中英皆可”)}

// 當滑鼠點擊後會產生顯示中英皆可的文字反應

     ex: 當滑鼠點擊後旋轉

void OnMouseDown(){ transform.Rotate( x, y, z )}

OnMouseEnter 滑鼠碰到瞬間觸發OnMouseExit “滑鼠移開觸發

  • 與Transform 相關

transform.Rotate( xy);   旋轉

transform.Translatexy); 移動

transform.position = new Vector3xyz ); 設定位置

  • GameObject (抓取物件)

GameObject.Find(“物件名稱“);

   ex: 移動場景中名為 doll 的物件

GameObject.Find(“doll“).transform. Translate ( 0, 2, 0 );

  • Component (抓取元件)

 GetComponent<元件類型>();

除了 transform 可以直接打,其他元件都要先用 GetComponent 抓取。

ex: 要對 Rigidbody 元件使用 AddForce

if(Input.GetKey(“A“)){GetComponent<Rigidbody>().AddForce005 );} 扳倒

【如果按住A後,會持續觸發Rigidbody 中的AddForce效果

if(Input.GetKeyDown(“space“)){GameObject ballCopy = Instantiate (ball); ball.GetComponent<Rigidbody>().AddForcearrow.transform.forward*15,ForceMode.Impulse );}

【如果按下 空白鍵 後,會瞬間觸發一次{讓變數ballCopy = 複製一次物件 ball ;ballCopy抓取Rigidbody 類型中的AddForce元件中朝著變數 arrow 的前面,用力量模式.一瞬間的力量15力度

  • 物件複製

 Instantiate( 物件名稱 );

  • 啟用 / 停用 物件、元件

yourObject.SetActive( true );      啟用物件

yourComponent.enabled = true;  啟用元件

  • 補充:

布林值 ( bool ) 只分為兩種答案, true  / false 

 ex:  int a 0; / a = 1

   可改成 bool a = false; / a = true

布林值為常用手法。

  • 呼叫其他物件的函數

GameObject.Find(“物件名“).GetComponent<script名稱>().函數名稱();

可將速值放上面板上去做調整,只要在程式碼的前面加入 public 即可。

     ex: public int a; 設定變數 a 顯示在面板


 

★版權所有,盜用必究★

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *