Unity2D制作で、キャラクターの進む方向によって、向きが変わる仕組みを作ってみましょう。
右方向へ進めば右に向き、左方向へ進めば左に向きます。
2Dゲーム制作でよく使う機能ですので、ぜひ覚えておきましょう。
移動する方向へ向けるスクリプト
プレーヤーの魔女の画像は、こちらのpngファイルをダウンロードしてご利用ください。
pngファイルをヒエラルキーへドラッグ&ドロップして、オブジェクトを作ります。
リジッドボディ2Dを追加し、キネマティックに設定変更します。
キャラクターを移動させるために、スクリプトを作成します。
PlayerMove.csを作成し、オブジェクトに追加します。
PlayerMove.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 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class PlayerMove : MonoBehaviour { Rigidbody2D rb2d; private float speed; void Start() { speed = 5; rb2d = GetComponent<Rigidbody2D>(); } void Update() { float input = Input.GetAxisRaw("Horizontal"); rb2d.velocity = new Vector2(input * speed, rb2d.velocity.y); //進行方向へ向きを変える if(input < 0) { transform.eulerAngles = new Vector3(0, 180 ,0); } else if(input > 0) { transform.eulerAngles = new Vector3(0,0,0); } } } |
ゲームプレイして、キャラクターを左右に動かしてみましょう。
関連記事:
ゴールすれば花火を打ち上げる