スクリプトのインスタンスがロードされたときに呼び出されます
Awakeはゲームが始まる前に変数やゲーム状態を初期化するために使用します。 Awakeはスクリプトのインスタンスが生存している間、一度だけ呼び出されます。 Awake 関数はすべてのオブジェクトのインスタンス生成後に呼び出されるので、例えばGameObject.FindWithTag()などを使って他のオブジェクトを安全に参照できます。 Awake関数の呼び出しはランダムオーダーで行われますので、Awake 関数でのオブジェクトの参照は行っても、情報の取得は行わないようにしましょう。参照先の Awake 関数の処理が終わっていない可能性があるからです。 情報の取得はStart関数で行うようにします。 また、スクリプトのインスタンスが無効の場合でも呼び出されます。 Awake 関数は常にすべての Start 関数より先に呼び出しされます。これによりスクリプトの初期化の順番を制御できます。 Awake はコルーチンとして動作しません。 C# および Boo ユーザへの注意:コンストラクタの代わりに Awake を使用して下さい。これはコンポーネントの serialized ステートはコンストラクト時点では定義されていないためです。 Awake はコンストラクタ同様に呼び出しは一回のみです。
private var target : GameObject; function Awake () { target = GameObject.FindWithTag ("Player"); }
using UnityEngine; using System.Collections; public class ExampleClass : MonoBehaviour { private GameObject target; void Awake() { target = GameObject.FindWithTag("Player"); } }
import UnityEngine import System.Collections public class ExampleClass(MonoBehaviour): private target as GameObject def Awake() as void: target = GameObject.FindWithTag('Player')
Awake はコルーチンにすることは出来ません。