Version: 5.4 (switch to 5.5b)
言語English
  • C#
  • JS

Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

MonoBehaviour.Awake()

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Sumbission failed

For some reason your suggested change could not be submitted. Please try again in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

マニュアルに切り替える

Description

スクリプトのインスタンスがロードされたときに呼び出されます

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"); } }

Awake はコルーチンにすることはできません。