Version: 2017.4
public static GameObject Find (string name);

説明

name で GameObject を検索し返します。

この関数は、アクティブなゲームオブジェクトのみを返します。name でゲームオブジェクトが見つからない場合は、null を返します。name に '/' の文字が含まれている場合は、パス名のように階層を走査します。

パフォーマンスの面から、この関数をすべてのフレームで使用することは推奨されません。代わりに、開始時の結果をメンバー変数にキャッシュしたり、GameObject.FindWithTag を使用します。

注意: 子のゲームオブジェクトを見つけたい場合は、多くの場合 Transform.Find を使用する方が簡単です。

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { public GameObject hand; void Example() { hand = GameObject.Find("Hand"); hand = GameObject.Find("/Hand"); hand = GameObject.Find("/Monster/Arm/Hand"); hand = GameObject.Find("Monster/Arm/Hand"); } }

GameObject.Find は、ロード時に他のオブジェクトへの参照に自動的に関連付けるのに便利です (例: MonoBehaviour.AwakeMonoBehaviour.Start の中で実行します)。

パフォーマンス上の理由から、毎フレームでこの関数を使用することは推奨されません。

一般的な使い方は GameObject を MonoBehaviour.Start 内の変数に指定することです。そうして、その変数を MonoBehaviour.Update で使用します。

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { private GameObject hand; void Start() { hand = GameObject.Find("/Monster/Arm/Hand"); } void Update() { hand.transform.Rotate(0, 100 * Time.deltaTime, 0); } }
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961