#やりたいこと
ブロック崩しを作成していて、ブロックが全て消えたら
ゲームクリアにしたいです。
Scene遷移は出来ていますが、全て消えた時に切り替わりません。
#試したこと
public class Block : MonoBehaviour { private GameObject[] BlockObjects; void Update() { BlockObjects = GameObject.FindGameObjectsWithTag("Block"); if (BlockObjects.Length == 0) { SceneManager.LoadScene("GameClear"); } } }
Blocktagを作成し、タグが0になった時にシーンが切り替わってほしいです。
一度
if (BlockObjects.Length == 1)
全て消えた時にではなく、1つだけタグがある時にバージョンもやってみましたが、
これなら成功します。
ただ、プログラムにあるように1つ残った状態で遷移されます。
1が0になった時だけ遷移されません。
原因分かる方いましたら教えて下さい。
お願いします。
#追加
BlockObjects = GameObject.FindGameObjectsWithTag("Block");
した時にエラーは出ません。
void Update() { BlockObjects = GameObject.FindGameObjectsWithTag("Block"); if (BlockObjects.Length == 11) //全部消えたら表示されないので残り11個になった時に表示 { Debug.Log(BlockObjects); } }
ブロックの残り数が11個になった時にDebug.Logをしてみました。
結果
UnityEngine.GameObject[] UnityEngine.Debug:Log (object)
多分、何も格納されてない?と思います。
回答1件
あなたの回答
tips
プレビュー