2017-07-18 12 views
0

こんにちは、私はこのスクリプトを持っていて、ボイドの更新は最初に後方にあるか起動すると常にアニメーターがアニメーションを後方に移動させたり、アニメーションを半分再生する完全な方法で、アイドル状態の一部を再生しません。これは、指がまだボタン上にあることを意味し、アニメーションを何度も前後に再生する必要があります。ユニタリーキャラクターコントローラーのスクリプトとアニメーター

using System.Collections; 
using System.Collections.Generic; 
using UnityEngine; 

public class playerController : MonoBehaviour { 
    public float moveSpeed = 10f; 
    public float turnSpeed = 50f; 
    Animator anim; 

    // Use this for initialization 
    void Start() { 
     anim = GetComponent<Animator>(); 

    } 

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


     if (Input.GetKey (KeyCode.S)) { 
      anim.SetBool ("isIdle", false); 
      anim.SetBool ("isWalkingBack", true); 
      transform.Translate (-Vector3.forward * moveSpeed * Time.deltaTime); 


     } 
     else 
     { 
      anim.SetBool ("isIdle", true); 
      anim.SetBool ("isWalkingBack", false); 

     } 

     if (Input.GetKey (KeyCode.W)) { 
      anim.SetBool ("isRunning", true); 
      anim.SetBool ("isIdle", false); 
      transform.Translate (Vector3.forward * moveSpeed * Time.deltaTime); 




     } 
     else 
     { 

      anim.SetBool ("isRunning", false); 
      anim.SetBool ("isIdle", true); 

     } 



} 


} 
` 

答えて

0

あなたは上記の例のためのいくつかの問題を、引き起こす可能性がブールフィールドを使用: はここのコードです。

私が使用することをお勧めします:anim.SetInteger("unitState", someIntValue);

は、フィールド「unitState」で動作するようにアニメーター内の接続やトランジションを設定します。あなたはすべてのトランジションに未チェックの終了時間を持っていることを確認し

void Update() { 
    // for example 
    anim.SetInteger("unitState", 0); // 0 is Idle 
    if (Input.GetKey (KeyCode.S)) { 
     anim.SetInteger("unitState", -1); // -1 is WalkBack 
     transform.Translate (-Vector3.forward * moveSpeed * Time.deltaTime); 
    } 

    if (Input.GetKey (KeyCode.W)) { 
     anim.SetInteger("unitState", 1); // 1 is run forward 
     transform.Translate (Vector3.forward * moveSpeed * Time.deltaTime); 
    } 

    if (Input.GetKeyDown (KeyCode.Space)) { 
     anim.SetInteger("unitState", 2); // 2 is jump 
     //Jump code here. for example 
    } 
    .... 
} 
+0

まだ同じことをしています – Ghigh

+0

http://imgur.com/a/AemiZ – Ghigh

+0

okay nvm thanks ^^ – Ghigh

0

あなたのコードでは、次のようになります。

関連する問題