Start ( ) 與 Update ( )

Unity 建立的 C# 腳本將會自帶 Start ( ) 與 Update ( ) 方法,若要執行指定的動作可以加入程式碼。

Start ( ) 內的程式碼將會在遊戲物件出現時執行,而 Update ( ) 內的程式碼則是每個影格都執行。

腳本必須指定給遊戲物件才會在遊戲中執行,您可以使用滑鼠將腳本拖曳到 Hierarchy 階層視窗的物件,也可以拖曳到 Scene 場景視窗的物件,或是在物件選取的狀態拖曳到 Inspector 屬性檢視器。以上這些套用腳本的操作其結果是相同的,不過當遊戲物件含有父子階層物件時,使用拖曳腳本到 Scene 場景視窗中物件的方式,需要特別注意腳本是否套用到正確的物件上。例如原本想套用在父物件的腳本若是改套用到子物件,可能會發生執行錯誤的情形。

複習一下套用腳本到物件的方法:

 

執行的結果,在 Console 視窗顯示 "Hello World" 訊息。

左圖是將 Debug.Log ( ) 放在 Start ( ) 只會執行一次,右圖則是放在 Update ( ) 則會每個影格執行一次。

腳本如果有錯誤將無法進入 Play 模式,不過邏輯錯誤無法偵錯,必須除錯之後才能進行下一步。

腳本元件不使用時,可選擇暫時停用或按滑鼠右鍵執行移除元件。

 

FixedUpdate ( ) 用於物理計算,並且與 Frame-rate 影格速率保持獨立的。

MonoBehaviour.FixedUpdate 具有物理系統的頻率,調用的預設時間為 0.02 秒,每秒固定調用 50 次,使用 Time.fixedDeltaTime 來存取此數值,如果需要修改此數值可執行 [ Edit > Settings > Time > Fixed Timestep ] 進行設定。

當使用 Rigidbody 剛體進行物理計算時,請使用 FixedUpdate ( ) 。