近頃はunityを使ってゲーム作りをしています。
GameManagerとGameObjectは若干違うようで。
そのときに躓いたので、記載します。
結論
宣言
public GameManager gameManager;
コード
gameManager = GameObject.Find("GameManager").GetComponent<GameManager>();
解説
コードの部分を少し解説。
当初、
gameManagerobj = GameManager.Find(“GameManager”);
これでいけるのではと思っていたのですが、エラー。
GameManagerでFindが使えないようになっています。
なので、GameObjectでFindして、GetComponentすることで、
GameManagerを取得します。
GameManagerって厄介ですね。
あえて作る必要はないのかもしれないと思う今日この頃。
半年経過し、見直して追記
当初書いたのが2022年9月
そして、2023年5月にふとこの記事を見直しました。
ただの理解不足ですね。
コード
gameManager = GameObject.Find("GameManager").GetComponent<GameManager>();
赤と緑で機能が分かれています。
GameObject.Find(“GameManager”)でヒエラルキー内のGameManagerを探す。
.GetComponent<GameManager>();でアタッチされたGameManagerという名前のC#を取得する。
の2段構えになっているだけ。
半年Unity触っていたら、わかってくるもんですねぇ。
コメント