複数のオブジェクトの表示、非表示を、ボタンで切り替えられるようにします。
GameObject.Findを使い、オブジェクトを参照する方法で作成していきます。
関連記事:
2個のボタンでオブジェクトの色を切り替える
ボタンで複数のサウンドを再生
ボタンでオブジェクトを切り替えるしくみ
ボタン表示・非表示のスクリプトをつくる
アクティブ状態の時間をはかる
オブジェクトの用意
Cubeを3つ作成します。
空のオブジェクトを作成します。
GameObject(空のオブジェクト)の名前を、CubeParentに変更します。
3つのCubeをすべて、CubeParentの中に入れます。
CubeParentの子オブジェクトとして配置されました。
SetActiveによる切り替え操作
空のオブジェクトを作成します。
ObjectSet.csを作成し、GameObjectに追加します。
ObjectSet.csを記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class ObjectSet : MonoBehaviour { public GameObject target; void Start() { target = GameObject.Find ("CubeParent"); } public void ObjChange() { if (target.activeSelf) { target.SetActive(false); } else { target.SetActive(true); } } } |
親オブジェクトであるCubeParentを表示・非表示させれば、子オブジェクトも同じように動作します。
「オブジェクトが表示されている場合」という条件分岐については、activeSelfを使います。
次は、ObjChange()をボタン側で実行できるようにしましょう。
ボタンの作成
ボタンを作成します。
ボタンの配置を変更します。
ボタンの設定を、以下の手順で行います。
ゲームプレイして、ボタンをクリックしてみましょう。
関連記事:
2個のボタンでオブジェクトの色を切り替える
ボタンで複数のサウンドを再生
ボタンでオブジェクトを切り替えるしくみ
ボタン表示・非表示のスクリプトをつくる
アクティブ状態の時間をはかる