【Unity】名前を指定せずにスクリプトを取得する

投稿者: | 2020-12-06

空のオブジェクトにスクリプトをつけました。別のオブジェクトに新しいスクリプトをつけて、こちらに上のオブジェクトをアタッチしました。

このスクリプトで、コンポーネントを取得するときに、型引数にMonoBehaviourと入れてもはじめのスクリプトを取得できました。

using UnityEngine;

public class GetComponent : MonoBehaviour
{
    [SerializeField] GameObject obj;

    // Start is called before the first frame update
    void Start()
    {
        var sc = obj.GetComponent<MonoBehaviour>();
        Debug.Log(sc.GetType());
    }

}

スクリプトが複数あっても問題ありません。

using UnityEngine;

public class GetComponent : MonoBehaviour
{
    [SerializeField] GameObject obj;

    // Start is called before the first frame update
    void Start()
    {
        var sc = obj.GetComponents<MonoBehaviour>();
        Debug.Log(sc[0].GetType());
        Debug.Log(sc[1].GetType());
    }

}

コメントを残す

メールアドレスが公開されることはありません。