言語: 日本語
  • C#
  • JS
  • Boo

スクリプト言語

お好みのスクリプト言語を選択すると、サンプルコードがその言語で表示されます。

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

Switch to Manual

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");
    }
}
import UnityEngine
import System.Collections

public class ExampleClass(MonoBehaviour):

	private target as GameObject

	def Awake() as void:
		target = GameObject.FindWithTag('Player')

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