前提・実現したいこと
2Dのサイドビューゲームを自作しています。
以下コードがアタッチされたキャラクターが速度0以外のとき(=動いているとき)"WalkAnime"のアニメーションを作動させるようにしたい。
発生している問題・エラーメッセージ
エラーメッセージは発生していませんが、移動中に作動したい"WalkAnime"が作動しません。
該当のソースコード
using System.Collections; using System.Collections.Generic; using UnityEngine; public class Walk : MonoBehaviour { Rigidbody2D rbody; //Rigidbody型の変数 float axisH = 0.0f; //入力 public float speed = 3.0f; //移動速度 //アニメーション対応 Animator animator; //アニメーター public string stopAnime = "Stop"; public string moveAnime = "WalkAnime"; //★足踏み動作 string nowAnime = ""; string oldAnime = ""; // Start is called before the first frame update void Start() { //Rigidbody2Dをとってくる rbody = GetComponent<Rigidbody2D>(); //Animetorを取ってくる animator = GetComponent<Animator>(); nowAnime = stopAnime; oldAnime = stopAnime; } // Update is called once per frame void Update() { //水平方向の入力をチェックする axisH = Input.GetAxisRaw("Horizontal"); //向きの調整 if (axisH > 0.0f) { //右移動 Debug.Log("右移動"); transform.localScale = new Vector2(1, 1); } else if(axisH < 0.0f) { //左移動 Debug.Log("左移動"); transform.localScale = new Vector2(-1, 1); } } void FixedUpdate() { //速度を変更する rbody.velocity = new Vector2(speed * axisH, rbody.velocity.y); if (axisH == 0) { nowAnime = stopAnime; //停止中 } else { nowAnime = moveAnime; //★速度が0以外のとき、WalkAnime"作動させる } } }
補足
本作品は一方通行で右にしか進めないゲームです。
そのため、Edit > Project Setting > Inputから左向きの入力を認識しないように設定しているのですが、もしかしてそれが関係しているのでしょうか?
回答1件
あなたの回答
tips
プレビュー