アクティブになっているオブジェクトの数を、常にカウントできるように、スクリプトを作成しましょう。
種類の違うオブジェクトを4つ用意して、表示されている数だけを、コンソールに表示します。
関連記事:
子オブジェクトをすべて取得
アクティブ状態の時間をはかる
同じタグのオブジェクトをリストに追加
FindObjectsOfTypeで指定したクラスを全て取得
リストの中をすべて表示・非表示
表示中のオブジェクトを数える
4つのオブジェクトを作成し、適当なところに配置します。
4つのオブジェクトに、Targetという名前のタグをつけます。
空のオブジェクトを作成します。
CountObject.csを作成し、GameObject(空のオブジェクト)に追加します。
CountObject.csを記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class CountObject : MonoBehaviour { public GameObject[] objects; int count; void Update() { objects = GameObject.FindGameObjectsWithTag("Target"); count = objects.Length; Debug.Log(count); } } |
ゲームプレイして、動きを確認しましょう。
どれか一つ、非表示にします。
コンソールを見てみましょう。
表示、非表示によって、カウント数がリアルタイムで変化します。
関連記事:
子オブジェクトをすべて取得
アクティブ状態の時間をはかる
同じタグのオブジェクトをリストに追加
FindObjectsOfTypeで指定したクラスを全て取得
リストの中をすべて表示・非表示