Unityあれこれ
ローカルのUnityプロジェクトが最新にならない
チーム開発等でUnityのプロジェクトを最新にしても、ローカルのAssetが古くて挙動がおかしいことがあった。
以下の手順で解決。
- Unityを終了
- プロジェクト直下のLibraryディレクトリを丸ごと削除
- Unityを起動
Canvas以下に置いたTestTextというコンポーネントを探して、テキストを変える
int number = 0; var canvas = GameObject.Find ("/Canvas"); foreach (Transform child in canvas.transform) { if (child.name == "TestText") { Text target = child.gameObject.GetComponent<Text> (); target.text = "hoge" + number.ToString (); } number++; }
GameObjectの表示/非表示切り替え
- SetActive() を使う
- 非アクティブ化されたGameObjectを取得できるFindDeep() を使う
- 第二引数にtrueを渡すと非アクティブなGameObjectも検索対象になる
bool isActive = false; gameObject.FindDeep ("MyChunoText", isActive).SetActive (isActive);