0
我試圖發展Unity3D引擎遊戲。我的遊戲有主角,它有一個2D動畫的精靈。但環境是3D的。實際上,你可以看到它在這裏:雪碧對開回應後在統一
http://www.youtube.com/watch?v=jhT_PniyySY
的問題是出現在視頻中也,當你移動左,右轉(或其他方式)的動畫突然改變,沒有任何問題。但是,當您向左移動並向上或向下移動時,動畫更改的響應時間較晚。我認爲這可能是因爲它等待動畫完成,但爲什麼它不會發生在左右運動呢?
我的朋友建議我使用動畫過渡面板上的權利,因爲他也懷疑它等待,直到動畫結束,但我甚至沒有行走和不同方向運行的動畫之間的過渡。
我懷疑我面對的布爾值不正常工作,所以在這裏我如何設置它:
void Movement()
{
anim.SetFloat("horizontalspeed", Input.GetAxis ("Horizontal"));
anim.SetFloat("verticalspeed", Input.GetAxis ("Vertical"));
if(Input.GetKey(KeyCode.D))
{
if(anim.GetBool ("facingRight") != true)
{
anim.SetBool ("facingRight", true);
}
else
{
anim.SetBool ("facingRight", false);
}
}
if(Input.GetKey(KeyCode.A))
{
if(anim.GetBool ("facingLeft") != true)
{
anim.SetBool ("facingLeft", true);
}
else
{
anim.SetBool ("facingLeft", false);
}
}
if(Input.GetKey(KeyCode.W))
{
if(anim.GetBool ("facingUp") != true)
{
anim.SetBool ("facingUp", true);
}
else
{
anim.SetBool ("facingUp", false);
}
}
if(Input.GetKey(KeyCode.S))
{
if(anim.GetBool ("facingDown") != true)
{
anim.SetBool ("facingDown", true);
}
else
{
anim.SetBool ("facingDown", false);
}
}
else
{
anim.SetBool ("facingRight", true);
anim.SetBool ("facingLeft", true);
anim.SetBool ("facingUp", true);
anim.SetBool ("facingDown", true);
}
}
請幫我noobish問題。我非常感謝。
通過這段代碼,也沒關係,我去哪個方向,它總是選擇動畫,我按下了第一個方向。當我站起來然後離開時,角色會變得越來越大,動畫就會上升。當我左手再擡起時,角色再次向右移動,但動畫向左移動。一次按住兩個或三個按鈕幾乎沒有問題。我的問題是,遊戲在下一個動畫之前會播放一個動畫0.5。它只發生在對角線變化中。即使我單獨按下按鈕。 btw移動功能在Update yes中被調用。 – AnilDemir