こんにちは、Unity でミニ 2D ゲームに取り組んでおり、2D キャラクターといくつかのアニメーション (Up_Idle、Down_Idle、Right_Idle、Left_Idle/Up_run、Down_run、Right_run、Left_run) を作成しています。問題は、これらのアニメーションが正しく機能していないことです (たとえば、私は Up_run アニメーションを再生しないキャラクターの上向き矢印を押しますが、彼は Up_run と left_run アニメーションを同時に再生します)
ここにスクリーンショット:
コードは次のとおりです。
using UnityEngine;
using System.Collections;
public class movement : MonoBehaviour
{
public float speedX =1f;
public float speedY =1f;
Animator animator;
void Start()
{
animator = GetComponent <Animator> ();
}
void Update()
{
if (Input.GetKey (KeyCode.UpArrow)) {
transform.Translate (new Vector2 (speedX, speedY) * Time.deltaTime);
animator.SetFloat ("Up", 1);
return;
} else {
animator.SetFloat ("Up", 0);
}
if (Input.GetKey (KeyCode.DownArrow)) {
transform.Translate (new Vector2 (-speedX, -speedY) * Time.deltaTime);
animator.SetFloat ("Down", 1);
return;
} else {
animator.SetFloat ("Down", 0);
}
if (Input.GetKey (KeyCode.RightArrow)) {
transform.Translate (new Vector2 (speedX, -speedY) * Time.deltaTime);
animator.SetFloat ("Right", 1);
return;
} else {
animator.SetFloat ("Right", 0);
}
if (Input.GetKey (KeyCode.LeftArrow)) {
transform.Translate (new Vector2 (-speedX, speedY) * Time.deltaTime);
animator.SetFloat ("Left", 1);
return;
} else {
animator.SetFloat ("Left", 0);
}
}
}