6. Unityのプログラムの実行順序
6.1 StartとUpdate
Startは1度だけ呼ばれます。Updateは毎フレーム呼ばれます。
void Start(){
Debug.Log("スタート");
}
void Update(){
Debug.Log("アップデート");
}
Cubeを動かす場合はvoid Update()が毎フレーム呼ばれることでCubeを右に移動させています。
void Start(){
}
void Update(){
transform.position += Vector3.right;
}
6.2 メソッドの位置による実行順
StartメソッドとUpdateメソッドを入れ替えても同じ動きをするので、書く順番は実行順序と関係がありません。
void Update(){
Debug.Log("アップデート");
}
void Start(){
Debug.Log("スタート");
}
メソッド内は上から下へ実行します。
void Start(){
Debug.Log("あ");
Debug.Log("い");
Debug.Log("う");
Debug.Log("え");
Debug.Log("お");
}
void Update(){
}
6.3 スクリプトが複数ある時のStartとUpdate
スクリプトが複数ある場合について、スクリプトが二つある場合を例に試します。
void Start(){
Debug.Log("1のスタート");
}
void Update(){
Debug.Log("1のアップデート");
}
void Start(){
Debug.Log("2のスタート");
}
void Update(){
Debug.Log("2のアップデート");
}
複数のスクリプトがある場合、同じタイミングで呼ばれるメソッドはどういう順で呼ばれるかはわかりません。ゲームオブジェクトが非アクティブだとStartとUpdateは呼ばれません。再生途中でアクティブにするとスクリプトが実行されます。