オブジェクトの名前
著者:
赤坂玲音
公開日:
全てのゲームオブジェクトには名前が設定できます。スクリプトから名前を設定または取得するには name
プロパティを使います。
名前の設定と取得
Unity エンジンに管理されるオブジェクトは、前述した GameObject クラスも含めて UnityEngine.Object クラスから派生しています。.NET Framework の基底クラスである System.Object クラスから派生しており、名前空間を省略すると同じ Object クラスという名前なので混同しないように注意してください。
UnityEngine.Object クラス
public class Object
ゲーム内のオブジェクトを識別する方法はいくつか存在しますが、代表的な方法はオブジェクトの名前です。オブジェクトの名前は Object クラスの name プロパティから設定または取得できます。
Object クラス name プロパティ
public string name { get; set; }
オブジェクトの名前は前述した GameObject クラスのコンストラクタから設定できますが、インスタンスを生成した後でも name プロパティから変更できます。
オブジェクトの名前は一意であることを保証しません。同じ名前のオブジェクトが同じ階層に複数存在する可能性もあり、異なる階層に複数存在する可能性もあります。オブジェクトの名前をスクリプトから操作するための識別に用いる場合、名前の管理や一意性は開発者の責任にゆだねられます。
コード1
using UnityEngine; public class Test : MonoBehaviour { void Start() { GameObject obj1 = new GameObject("Nanoha"); GameObject obj2 = new GameObject(); obj2.name = "Fate"; } }
実行結果
コード1のスクリプトを実行すると 2 つのゲームオブジェクトが生成され、それぞれの名前を設定しています。片方は GameObject クラスのコンストラクタのパラメータから、もう片方は name プロパティから設定しています。