日々是好日~every day is a good day~

日常の中の非日常の備忘録

【Unity】キャラクターを矢印キーで動かす③

今日はキャラクターを矢印キーで動かすの最後
コンポーネントの追加』です
1.プロジェクトタブ内で右クリック
作成/C#スクリプトを選択してPlayerWalkというスクリプトを作成します

2.PlayerWalkを編集

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerWalk : MonoBehaviour
{
    [SerializeField] int moveSpeed;   //移動スピード
    private Rigidbody2D rb;
    private Animator playerAnim;

    // Start is called before the first frame update
    void Start()
    {
        rb = this.GetComponent<Rigidbody2D>();
        playerAnim = this.GetComponent<Animator>();
    }

    // Update is called once per frame
    void Update()
    {
        rb.velocity = new Vector2(Input.GetAxisRaw("Horizontal"), Input.GetAxisRaw("Vertical")).normalized * moveSpeed;

        if (rb.velocity != Vector2.zero)
        {
            playerAnim.enabled = true;
            //方向とアニメーションを連動
            if (Input.GetAxisRaw("Horizontal") != 0)   //横方向の移動
            {
                if (Input.GetAxisRaw("Horizontal") > 0)   //右
                {
                    playerAnim.SetFloat("X", 1f);
                    playerAnim.SetFloat("Y", 0);
                }
                else   //左
                {
                    playerAnim.SetFloat("X", -1f);
                    playerAnim.SetFloat("Y", 0);
                }
            }
            else if (Input.GetAxisRaw("Vertical") > 0)   //後
            {
                playerAnim.SetFloat("X", 0);
                playerAnim.SetFloat("Y", 1f);
            }
            else   //前
            {
                playerAnim.SetFloat("X", 0);
                playerAnim.SetFloat("Y", -1f);
            }
        }

        else   //止まっている
        {
            playerAnim.enabled = false;
        }
    }
}

3.PlayerWalkをPlayerオブジェクトにドラッグ&ドロップ

4.PlayerのインスペクターでPlayerWalkのMove Speedを設定します
自分の好みでOKです 今回は2で設定しました
次にコンポーネントを追加をクリック

5.検索のところにriと入力すると候補が出てくるのでその中からRigidbody 2Dを選択

6.Rigidbody 2Dのボディタイプの▼をクリックしてキネマティックを選択

これで実行するとキャラクターが矢印キーに連動して前後左右に動くようになります

(再生できなくなっていたので2024.1.25に修正しました)

ただキャラクターが動いているだけなのにRPGっぽいですねぇ(笑)
うれしくなります