環境
Unity 2019.3.7f1
はじめに
スクリプトからゲームオブジェクトの表示・非表示を判定する方法を説明します。
コード
表示・非表示の判定は
ゲームオブジェクト型の変数.activeSelf
で取得できます。
この関数はbool型の返り値を返すので
bool型の変数=ゲームオブジェクト型の変数.activeSelf;
で使います。
具体例
下記のコードで非表示にしたオブジェクトをアタッチして実行してみます。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class test : MonoBehaviour
{
[SerializeField] private GameObject a;//GameObject型の変数aを宣言 好きなゲームオブジェクトをアタッチ
private bool b;//bool型の変数bを宣言
void Start()
{
b = a.activeSelf;//aがアクティブかどうか判定し、trueかfalseがbに入る
Debug.Log("b=" + b);//コンソールに変部bの中身を表示
}
}
結果
変数aにアタッチされていたオブジェクトは非表示だったので変数bの中にはfalseが入っています。
おわりに
判定した返り値をbool型の変数に入れるのを忘れずに!