割った余りの数によって、オブジェクトの動きに変化をつけてみましょう。
割り算の余りを利用することで、3つのポジションを順番に、1秒おきに切り替えています。
関連記事:3秒おきに速度を上げる
割った余りを使ったスクリプト
Cubeを作成します。
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 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class CubeMove : MonoBehaviour { private float time; void Start() { time = 0; } void Update() { time += Time.deltaTime ; if (Mathf.Floor(time) % 3 == 0) { transform.position = new Vector3(0,5,2); } else if (Mathf.Floor(time) % 3 == 1) { transform.position = new Vector3(3,0,0); } else if (Mathf.Floor(time) % 3 == 2) { transform.position = new Vector3(-4,2,-2); } } } |
ゲームプレイしてみましょう。
指定した3つのポジションへ、1秒おきに順番に切り替わります。
割った余りを求めるには、【%】を使用します。
増えていくtimeを、Mathf.Floor によって整数に変換。
timeを割った余りは、0、1、2のいずれかに該当するため、3つのポジションへの切り替えがずっと続いていきます。
関連記事:3秒おきに速度を上げる