スクリプトがアタッチされているゲームオブジェクトの名前、タグを取得する

スクリプトから、そのアタッチされているゲームオブジェクトの名前、タグを取得します

取得方法

シーン

結果

スクリプト

nameプロパティ、tagプロパティの値は、このスクリプトに関するものではなく、ゲームオブジェクトの情報になります。シーンから、このスクリプトがCubeゲームオブジェクトにアタッチされているのがわかります。結果としては、ゲームオブジェクト名(ヒエラルキーに表示される名前)とタブ名(インスペクターで確認できます)がコンソールウィンドウに表示されます。

using UnityEngine;

public class NameSample : MonoBehaviour
{
    void Start()
    {
        print(name);
        print(tag);
    }
}

参考

スクリプトで使われてるメソッド、プロパティ

printメソッド(MonoBehaviourクラス)

// Unityコンソールにメッセージをログ出力します(Debug.Logと同じです)
public static void print (object message)
{
    Debug.Log (message);
}

nameプロパティ(Objectクラス)

// オブジェクトの名前
public string name 
{
    get 
    {
        // ゲームオブジェクトの名前を取得(内部ルーチンを呼び出します)
        return GetName (this);
    }
    set 
    {
        // ゲームオブジェクトの名前に代入(内部ルーチンを呼び出します)
        SetName (this, value);
    }
}

tagプロパティ(Objectクラス)

// ゲームオブジェクトのタグ
public string tag 
{
    get 
    {
        return gameObject.tag;
    }
    set 
    {
        gameObject.tag = value;
    }
}

スクリプト名を取得したいとき

インスタンスから型を取得し、名前を取得します

 print(this.GetType().Name);

C#

Posted by hidepon