前提・実現したいこと
Unity初心者です。
現在簡単なタップゲームを作成しています。
そこでスコアをつけているのですが、
ゲームオーバーになったら、スコアの更新を止めて、
リトライボタンを押すとタイトル画面に戻るということをしたいです。
スコアは秒数となっており、
1秒で1点となっています。
発生している問題・エラーメッセージ
現段階では、ゲームオーバーになった後も更新され続けます。
スコアの更新を止めたいと思い調べてはいるのですが、
一時停止の「Time.timeScale」や「enabledをfalseにする」
というのを見つけたのですが、実装の仕方がわかりません。
スコアのコードは以下になります。
using System.Collections; using System.Collections.Generic; using UnityEngine; // UIを使うための魔法の一言 using UnityEngine.UI; public class Score : MonoBehaviour { //変数を作る int Point; // スタートしたら、「一度」行う処理 void Start() { //点数を0にリセットする Point = 0; } // スタートしてから、「ずっと」繰り返したい処理 void Update() { //1秒ごとに1ポイント加算される if (Time.frameCount % 60 == 0) { Point++; } //PointTextに点数のテキストを更新する gameObject.GetComponent<Text>().text = "Point : " + Point.ToString(); } }
ゲームオーバーのコードは以下になります。
using System.Collections; using System.Collections.Generic; using UnityEngine; // UIを使うための魔法の一言 using UnityEngine.UI; public class Gameover : MonoBehaviour { //Gameover_textというゲームオブジェクトの変数を作る public GameObject Gameover_text; public GameObject Retry_Button; // 何かと触れると、ゲームオーバーとリトライボタンを表示する void OnCollisionEnter2D(Collision2D coll) { Gameover_text.SetActive(true); Retry_Button.SetActive(true); } }
補足情報(FW/ツールのバージョンなど)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/31 08:40