Unity初心者です。
簡単なタップゲームを制作しているのですが、
敵に当たってしまったら、ゲームオーバーの文字と
リトライボタンを表示させたいと思っています。
現状、以下のコードでは、ゲームオーバーの文字は表示されるのですが、
リトライボタンが表示されません。
ボタンの名前の横のチェックは外しています。
using
1using System.Collections.Generic; 2using UnityEngine; 3 4using UnityEngine.UI; 5 6public class Gameover : MonoBehaviour 7{ 8 9 //Gameover_textとRetry_Buttonというゲームオブジェクトの変数を作る 10 public GameObject Gameover_text; 11 public GameObject Retry_Button; 12 13 // 何かと触れると、ゲームオーバーとリトライボタンを表示する 14 void OnCollisionEnter2D(Collision2D coll) 15 { 16 Gameover_text.SetActive(true); 17 Retry_Button.SetActive(true); 18 } 19 20} 21 22現段階は以下の画像のようになっています。 23![](cc54237ad5a217f3fd637c460dd9d695.jpeg)
確認として、リトライボタンの横のチェックをONにする→ゲームビューできちんと表示されているか確認して下さい。
確認したところ、リトライボタンの横のチェックをONにすると、ゲームビューにリトライボタンは表示されるのですが、ゲームが始まっても、リトライボタンが表示されたままになってしまいます。
例外等は発生していませんか?
横のチェックボタンはオブジェクトのアクティブ状態をインスペクターから切り替えるためにあります
例外等は特にみられませんでした。
上記の通り、リトライボタンが常に表示されている状態です・・・。
チェックOFFに戻しましたか?
「確認として、リトライボタンの横のチェックをONにする」の意味が分からないならチュートリアルから始めたほうがいいと思います。
Retry_Button
この変数にちゃんとボタンオブジェクトが設定されているか確認してみてください。
>>>リトライボタンの横のチェックをONにすると、ゲームビューにリトライボタンは表示されるのですが、ゲームが始まっても、リトライボタンが表示されたままになってしまいます。
この現象はふつうのことなので安心してください。
リトライボタンの横のチェックをOFFに戻してから確認してみてください
スクリーンショットなどを追記していただけると参考になります。お願いします。
チェックはオフにしました。
オフにした場合、ゲームオーバーになってもリトライボタンは表示されないです。
スクリーンショットを添付したので見ていただけると幸いです。
ボタンオブジェクトの下にリトライボタンがついています。Unityでは親オブジェクトが非アクティブの場合、子オブジェクトがアクティブでも表示されません。質問者様のコードではボタンオブジェクトをアクティブにする処理がありませんのでリトライボタンが表示されることはありません。
dbeats様
ご回答いただきありがとうございます。
試しに親オブジェクトをGameoverスクリプトにアタッチしてみたら、
ゲームオーバーになったらボタンも表示されるようになりました!
teratailの回答率に貢献する意味も含めて、解決した場合は自己解決として下さい。
回答1件
あなたの回答
tips
プレビュー