2015-04-12 42 views
0

我想讓我的角色在按「P」時射擊。我創建了一個名爲shoot的觸發器,並且在動畫器狀態機中,已經將拍攝動畫來回連接到空閒動畫。無論我嘗試過什麼,按下「p」時,「拍攝」動畫都會拒絕播放。我的「run」參數包含從idle-> run的動畫混合樹,在按D或A時完美地工作,然而,每當我按下P時,不想拍攝,只停留在空閒狀態。任何想法我做錯了什麼?'射擊'動畫不能在Unity中播放

預先感謝您

編輯: 動畫圖像

http://i60.tinypic.com/i6kq9t.png

using UnityEngine; 
using System.Collections; 

public class NewSoldier : MonoBehaviour { 

Animator animator; 
bool Shoot; 
float Running = 0.08f; 

// Use this for initialization 
void Start() { 
    //float Run; 
    animator = GetComponent<Animator>(); 
} 

// Update is called once per frame 
void Update() { 

    float speed = Input.GetAxis ("Horizontal"); 

    if (Input.GetKey ("d")) { 

        this.transform.Translate (Input.GetAxis ("Vertical"), 0, Running); 
        transform.rotation = Quaternion.Euler (0, 90, 0); 
        animator.SetFloat ("Run", Mathf.Abs (speed)); 
      } 
    else if (Input.GetKey ("a")) 
      { 

        this.transform.Translate (Input.GetAxis ("Vertical"), 0, Running); 
        transform.rotation = Quaternion.Euler (0, -90, 0); 
        animator.SetFloat ("Run", Mathf.Abs (-(speed))); 
      } 
    else if (Input.GetKeyDown ("p")) 
      { 

        animator.SetBool("Shoot", true); 
        animator.SetTrigger ("Shoot"); 
      } 

    else   
      { 
       bool Shoot = false; 
       animator.SetFloat ("Run", Mathf.Abs(speed)); 
      } 
    } 
} 

回答

0

你在你的動畫樹設置什麼事件去拍攝動畫? 它可能是一些東西:

  • 您的動畫更改未設置爲事件;
  • 您的動畫更改設置爲浮動,並且您正在使用布爾和觸發器;
  • 如果您的動畫更改是觸發器,則只需用戶SetTrigger;
  • 您的動畫更改可能未設置爲從運行到拍攝;
  • 也許你的事件變化不是「拍攝」,因爲你誤按了一個鍵,而你沒有注意到;

如果你能向我們展示一棵樹的圖案,會很好。此外,我你按一個或d,它不會拍

+0

喜穗, 我附上了動畫的截圖: http://i60.tinypic.com/i6kq9t.png (低代表所以不能使用stackoverflows功能)。 我無法發現問題。此刻我希望自己的角色能夠在他只是空閒時按'p'的時候進行拍攝。一旦我可以完美的,那麼我可以添加運行等轉換。 –

+0

任何一個有想法:( –