オブジェクトが存在しているかどうかを取得できるように、activeSelfを使用してスクリプトを作ってみましょう。
activeSelfを使えば、オブジェクトの表示、非表示の情報が、TrueかFlaseで返されます。
これにより、オブジェクトがアクティブかどうかを条件として設定することができます。
関連記事:
オブジェクトの表示・非表示を切りかえる
複数のオブジェクトをボタンで表示・非表示
キー操作で複数オブジェクトの表示を切り替え
Toggleを使ったオブジェクト表示・非表示
アクティブ状態の時間をはかる
オブジェクトの表示・非表示を取得する
CubeとGameObject(空のオブジェクト)を作成します。
ActiveCheck.csを作成し、GameObjectに追加します。
ActiveCheck.csを記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class ActiveCheck : MonoBehaviour { [SerializeField] GameObject cube; void Update() { if (Input.GetMouseButtonDown(0)) cube.gameObject.SetActive (false); if (Input.GetMouseButtonDown(1)) cube.gameObject.SetActive (true); Debug.Log (cube.activeSelf); } } |
キューブのフィールドに、Cubeを入れます。
ゲームプレイして、コンソールを確認しましょう。
左クリックでCubeが消えて、コンソールにFalse。
右クリックでCubeが出現して、コンソールにTrueが返されます。
関連記事:
オブジェクトの表示・非表示を切りかえる
複数のオブジェクトをボタンで表示・非表示
キー操作で複数オブジェクトの表示を切り替え
Toggleを使ったオブジェクト表示・非表示
アクティブ状態の時間をはかる