Updateの中でずっと動き続けるオブジェクト。
ボタンを押せば一時停止、もう一度押せば再び動き出すような機能をつくってみましょう。
関連記事:
クリックで動きを中断・再開する
スペースキーを押せばスタート
キーを押している間は動きを一時停止
ランダム出現をスペースキーで停止・再開
制限時間になれば停止する
Buttonでオブジェクトの色を変える
一時停止のオブジェクトをn秒後に再始動
ボタンによる一時停止と再開
Cubeを作成し、Xをマイナス方向へ少しずらします。
CubeMove.csを作成し、Cubeに追加します。
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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class CubeMove : MonoBehaviour { private float count; private float move = 0.1f; public bool isStop; void Start() { isStop = false; } void Update() { if (isStop) { Time.timeScale = 0f; } else if (!isStop) { Vector3 position = new Vector3(move, 0, 0); transform.Translate(position); count++; if (count == 100) { count = 0; move *= -1; } Time.timeScale = 1f; } } public void CubeStop() { if (!isStop) { isStop = true; } else if (isStop) { isStop = false; } } } |
Time.timeScaleの値を0にすれば、Pause(一時停止)が働きます。
CubeStop()を、ボタンのほうで実行して、isStopのフラグ切り替えを行っていきます。
ボタンの作成
ボタンを作成します。
ヒエラルキー > UI > Button
ボタンの位置を変えて、中央下に置きます。
クリック時()の設定を、以下の手順で行います。
ゲームプレイして、ボタンを押してみましょう。
ボタンを押せば一旦ストップ、もう一度押すと、再び動き出しましす。
関連記事:
クリックで動きを中断・再開する
スペースキーを押せばスタート
キーを押している間は動きを一時停止
ランダム出現をスペースキーで停止・再開
制限時間になれば停止する
Buttonでオブジェクトの色を変える
一時停止のオブジェクトをn秒後に再始動