キャラクターを行ったり来たり、向きを変えて往復できるくみをスクリプトで作ってみましょう。
たとえば敵キャラに、行ったり来たりの動きをループさせたい時、これは使える仕組みですね。
関連記事:
2点間の往復運動をくり返す
オブジェクトの往復運動をつくる
キャラクターをジグザグに動かす
地面から出たり引っ込んだりする
ぶつかると逆方向に向きを変えて進む
片方だけの伸縮をくり返す
Rayの照射が外れれば向きを変える
向きを変えて往復運動
キャラクターの方向をわかりやすくするため、サイズの異なる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 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class CubeMove : MonoBehaviour { private int counter; private float move = 0.1f; void Update() { transform.Translate(new Vector3(0, 0, move)); counter++; if (counter == 50) { counter = 0; transform.Rotate(new Vector3(0, 180, 0)); } } } |
ゲームプレイしてみましょう。
transform.Translateを使い、Z座標を動かしています。
動くたびにcounterを1ずつ増やし、50になったときに逆方向に向きを変えます。
関連記事:
2点間の往復運動をくり返す
オブジェクトの往復運動をつくる
キャラクターをジグザグに動かす
地面から出たり引っ込んだりする
ぶつかると逆方向に向きを変えて進む
片方だけの伸縮をくり返す
Rayの照射が外れれば向きを変える