オブジェクトの動きを一時停止し、数秒すればまた動き出すように、スクリプトを作成しましょう。
Sphereを中心として、回り続けるCubeオブジェクト。
クリックで一旦ストップし、2秒経過すれば、また動きはじめます。
関連記事:
クリックで動きを中断・再開する
スペースキーを押せばスタート
キーを押している間は動きを一時停止
ランダム出現をスペースキーで停止・再開
ボタンを押せば一時停止
オブジェクトの動きをクリックで中断・再開する
ボタン押している間だけ実行する
スタートから3秒後にプレーヤーを追いかける
一旦ストップした動きを2秒後に再開
SphereとCubeを作成します。
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 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class CubeMove : MonoBehaviour { private int time = 0; public bool isStart; [SerializeField] GameObject centerPos; float angle = 5; void Start() { isStart = true; } void Update() { if(Input.GetMouseButtonDown(0)) { StartCoroutine("CountDown"); } if(isStart) { transform.RotateAround (centerPos.transform.position, Vector3.up, angle); } } IEnumerator CountDown() { isStart = false; time = 2; while(time > 0) { yield return new WaitForSeconds(1.0f); time--; } isStart = true; } } |
CenterPosのフィールドに、Sphereオブジェクトを入れます。
ゲームプレイして、画面をクリックしてみましょう。
クリックすれば一時的に動きが止まり、2秒経過すれば再び動き出します。
関連記事:
クリックで動きを中断・再開する
スペースキーを押せばスタート
キーを押している間は動きを一時停止
ランダム出現をスペースキーで停止・再開
ボタンを押せば一時停止
オブジェクトの動きをクリックで中断・再開する
ボタン押している間だけ実行する
スタートから3秒後にプレーヤーを追いかける