ループし続けているオブジェクトを、クリックで中断。再度クリックで再開させてみましょう。
往復の動きを繰り返すCubeの動きをクリックで一時停止。
もう一度クリックすれば、再び動き出します。
関連記事:
クリックで動きを中断・再開する
キーを押している間は動きを一時停止
クリックのたびにランダム数字を止める
一時停止のオブジェクトをn秒後に再始動
クリックのたびに回転を開始・停止
10回クリックすれば実行
クリックによる停止と再始動
Cubeを作成し、Xをマイナス方向へ少しずらします。
StopMove.csを作成し、Cubeに追加します。
StopMove.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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class StopMove : MonoBehaviour { private float count; private float move = 0.1f; public bool isStop; void Start() { isStop = false; } void Update() { if (Input.GetMouseButtonDown (0) && !isStop) { isStop = true; } else if (Input.GetMouseButtonDown (0) && isStop) { isStop = false; } 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; } } } |
ゲームプレイして、マウスクリックしてみましょう。
一度クリックすればストップ、もう一度クリックすれば、また動き出します。
Time.timeScaleの値を0にすれば、Pause(一時停止)が働きます。
isStopというフラグを作り、クリックするたびに、trueとfalseを切り替えています。
関連記事:
クリックで動きを中断・再開する
キーを押している間は動きを一時停止
クリックのたびにランダム数字を止める
一時停止のオブジェクトをn秒後に再始動
クリックのたびに回転を開始・停止
10回クリックすれば実行