落ちてくるオブジェクトをキャッチするゲームを作っています。
10点になったらクリア表示とボタンが表示され落ちてくるオブジェクトも止まります。
ハイスコアもあり、こちらは得点に応じてシーンの移行をしています。
ボタンを押すと、シーン2になりそこからまたゲームシーンへ戻れます。
得点は保持してあります。
そのためか、シーン2からゲームシーンに戻った時、クリア表示とボタンが残ったままになっていて困っています。
どのようにすればいいでしょうか?
よろしくお願いいたします。
未熟で整ってないスクリプトですが載せておきます。
スクリプト修正しました。highscore10点で関数を呼びSetActiveをfalseにしていますがエラーは出ませんがボタンは出たままです。
appleも点数を保持しています
GameObject AppleText; int apple = 0; bool S; public Text HighScoreText; public Text AppleScoreText; int highScore; private string key = "HIGHSCORE"; private string key2 = "APPLE"; public void GetApple(){ if (S == true) { apple += 1; highScore += 1; } } public void GetSmileApple(){ if (S == true) { apple += 5; highScore += 5; } } public void GetMainasu(){ if (S == true) { apple -= 2; highScore -= 2; } } void Start () { AppleText = GameObject.Find ("Apple"); S = true; highScore = PlayerPrefs.GetInt (key, 0); HighScoreText.text = highScore.ToString () + "highScore"; apple= PlayerPrefs.GetInt (key2, 0); AppleScoreText.text = apple.ToString () + "apple"; } void Update () {
// AppleText.GetComponent<Text> ().text =
// apple.ToString () + "apple";
if (apple >= 10 ) { GameObject.Find ("Canvas").GetComponent<UIController> ().Clear (); GameObject.Find ("AppleGenerator").GetComponent<AppleGenerator> ().GetPlaynow (); S = false; GameObject.Find ("Buttonmap2").GetComponent<ButtonActive> ().GetButton (); } if (apple < 0) { apple = 0; } PlayerPrefs.SetInt (key, highScore); HighScoreText.text = highScore.ToString () + "highScore"; PlayerPrefs.SetInt (key2, apple); AppleScoreText.text = apple.ToString () + "apple"; if (highScore >= 20) { PlayerPrefs.DeleteAll (); } } public void GetHighScore(){ if (highScore >= 10) { GameObject.Find ("Buttonmap2").GetComponent<ButtonActive> ().GetButton2 (); SceneManager.LoadScene ("map1"); } if (highScore >= 20) { SceneManager.LoadScene ("map2"); } }
}
回答2件
あなたの回答
tips
プレビュー