【Unity】string型の文字列と同じ変数名を取得する方法

どうも、だらはです。
今回はstring型の文字列と同じ変数名を取得する方法について紹介します。
……と思ったのですが、愚直にやると結構大変です。
代わりに、もっと良い方法があるのでそちらを紹介したいと思います。

スポンサーリンク

配列を使う

結論から言うと、配列を用いることで簡単に解決することができます。
以下に具体的なシチュエーションと対策方法について記載します。

具体例

例えば、GameObject「objItem数字」という命名規則で3つ存在するものとします。

  • objItem1
  • objItem2
  • objItem3

objItem1.nameのようにstring型GameObject名を取得するときに、取得するGameObject名を最後の数字違いで切り替えることを想定します。
この場合、素直に考えると、(“objItem" +1).nameのようにしてアクセスしたいと考えますが、これではコンパイルエラーになってしまいます。
このような場合には配列が有用です。

GameObject[] objItem = new GameObject[3] { null, null, null };
Debug.Log(objItem[0].name);

上記のように、GameObjectを配列に格納して扱うととても簡単です。
配列は0始まりですので、そこだけ気を付けて頂けたらと思います。

最後に

いかがでしたでしょうか。
string型の文字列と同じ変数名を取得するには、配列を用いると簡単です。
以上、だらはでした。

スポンサーリンク

応用

Posted by daraha_gm