前回は敵キャラの設置をしました。
前回の記事はこちら⇨【Unity】マリオのような2Dゲームを作る〜敵キャラ編①〜
敵キャラを自動で動かそう。
マリオの敵キャラといえばクリボーですよね。
クリボーのように勝手に動くスクリプトを作りたいと思います。
スクリプトの作成方法はこちら⇨【1】スクリプトを作成してみよう
⏬敵キャラが自動で動くスクリプト
public float Speed;
public float Angle;
Vector3 vec;
// Start is called before the first frame update
void Start()
{
float rad = Angle * Mathf.Deg2Rad;
Vector3 direction = new Vector3(Mathf.Cos(rad), Mathf.Sin(rad), 0);
vec = direction * Speed * Time.deltaTime;
}
// Update is called once per frame
void Update()
{
transform.position += vec;
}
スクリプトをアタッチしたら
アタッチするとヒエラルキーウィンドウにSpeedとAngleが追加されます。
Speedは敵の動く速度を示したものになります。
数字が大きければ大きいほど動きが早くなります。
Angleは敵の進む方向を示しています。
数字を180に設定することで左から右に進むようになります。
⏬参考画像
実際の動作を確認しよう
なんか変な動きしてる・・・。思ってたのと違う・・・。
と思うことは僕の中で多々あります!
なので動作確認はこまめにすることをお勧めします!!
このように敵キャラが右から左へ動いたら成功です!!
まだ敵キャラと衝突しても何のアクションも起きないのは、衝突した時にどうするかというプログラムを組んでいないからです。
それはこれからやるとして・・・次回はプレイヤーがジャンプアクションをできるようにする為の接地判定を追加してみようと思います。
次回の記事はこちら⇨【Unity】マリオのような2Dゲームを作る〜接地判定編〜
コメント