タイムアップになれば、動作を止めるスクリプトをつくりましょう。
このように、0秒になればTimeUpのテキストが出て、Cubeの動きを止めます。
関連記事:
TextMeshProを使用したタイムアップのしくみ
他のスクリプトを無効化する
他のオブジェクトの動きを止める
タイムアップでテキストを表示
タイムアタックできる「カウントアップタイマー」
3つのオブジェクトを削除すればテキストを表示
特定の座標で移動を止める
スペースキーを押せばスタート
ボタンを押せば一時停止
ランダム出現をスペースキーで停止・再開
クリックするたびにタイマー作動
キー押下から押下までの秒数をはかる
制限時間になればButtonを表示
制限時間になればPrefab生成を止める
タイムアップになればストップさせる
まずはカウントダウンしていくタイマーを作成しましょう。
UI > テキストを作成します。
テキスト名をTimerにして、色、フォントサイズ、位置を変更します。
このように配置されました。
ここにタイマーを表示させるので、NewTextの文字は消しておきます。
空のオブジェクトを作成します。
CountDown.csを作成して、GameObject(空のオブジェクト)に追加します。
CountDown.csを記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class CountDown : MonoBehaviour { [SerializeField] Text timerText; private float time = 3.0f; public bool isTimeUp; void Update() { if (0 <= time) { time -= Time.deltaTime; timerText.text = time.ToString("F1"); } else if (time <= 0) { isTimeUp = true; timerText.text = "TimeUp!"; } } } |
UIテキストを扱う場合、using UnityEngine.UI; を忘れずに書いておきましょう。
GameObjectを選択して、TimerTextフィールドに、Timerのテキストを入れます。
プレイしてみましょう。
”F1″を使って小数第一位までの表示にして、0秒までカウントダウンしていきます。
Bool(isTimeUp)を使用して、タイムアップしたかどうかを判定します。
0秒に到達したときに、IsTimeUpにチェックが入ることを確認しておきましょう。
時間になれば停止するスクリプト
制限時間になれば、オブジェクトの動きを止める仕組みをつくります。
Cubeオブジェクトを作成して、適当なところに配置。
わかりやすいように色をつけました。
CubeMove.csを作成し、Cubeに追加します。
CubeMove.csを記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class CubeMove : MonoBehaviour { private float speed = 3.0f; public GameObject timeObject; void Start() { timeObject = GameObject.Find("GameObject"); } void Update() { if (timeObject.GetComponent<CountDown>().isTimeUp == false) { transform.Translate(new Vector3(speed*Time.deltaTime, 0, 0)); } } } |
ゲームプレイしてみましょう。
isTimeUpがfalseのとき、すなわちタイムアップではない間、ずっとCubeが動きます。
0秒になってisTimeUpがtrueになれば、Cubeは停止します。
関連記事:
TextMeshProを使用したタイムアップのしくみ
他のスクリプトを無効化する
他のオブジェクトの動きを止める
タイムアップでテキストを表示
タイムアタックできる「カウントアップタイマー」
3つのオブジェクトを削除すればテキストを表示
特定の座標で移動を止める
スペースキーを押せばスタート
ボタンを押せば一時停止
ランダム出現をスペースキーで停止・再開
クリックするたびにタイマー作動
キー押下から押下までの秒数をはかる
制限時間になればButtonを表示
制限時間になればPrefab生成を止める