嗨我工作在一個迷你2D遊戲統一,我只是創建一個2D角色和一些動畫(Up_Idle,Down_Idle,Right_Idle,Left_Idle/Up_run,Down_run,Right_run,Left_run) 問題在這些動畫不能正常工作(例如當我按下UPARROW的characte不玩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);
}
}
}
嗯..我對Unity也不太瞭解......但我沒有看到所有的轉換。我不知道是否有一種方法可以在沒有過渡的情況下更改動畫......但是您說左側的動畫在某種程度上起作用。我的提示將檢查轉換。但我可能是錯的。 :O –
我讀屏幕截圖的方式是:閒置是默認的。只有動畫師.SetFloat(「Up」,1);會觸發一些run_up。其他動畫看起來不可訪問。我的動畫看起來像一個有很多過渡的地獄哈哈 –