往復するキャラクターに、ジグザグの動きをつけてみましょう。
行ったり来たりをくり返しながら、小刻みに横移動をくり返しています。
こうしたジグザグの移動は、敵キャラや障害物などに活用できそうなしくみです。
関連記事:
地面から出たり引っ込んだりする
キャラクターを行ったり来たりさせる
発射したPrefabをジグザグに動かす
ジグザグの移動をくり返す
キャラクターの方向をわかりやすくするため、サイズの異なるCubeを2個作って組み合わせました。
親子関係を作り、一緒に動かせるようにします。
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 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class CubeMove : MonoBehaviour { private int reverse; private int ziguzagu; private float moveX = 0.1f; private float moveZ = 0.1f; void Update() { transform.Translate(new Vector3(moveX, 0, moveZ)); reverse++; if (reverse == 100) { reverse = 0; transform.Rotate(new Vector3(0, 180, 0)); } ziguzagu++; if (ziguzagu == 10) { ziguzagu = 0; moveX *= -1; } } } |
ゲームプレイしてみましょう。
ziguzaguのカウントアップが10になれば、Xの移動(moveX)にマイナスを掛けて逆方向に動かしています。
Z方向の往復も、reverseのカウントアップが100になれば、逆方向に回転させる仕組みです。