Im following a tutorial to create animations with a 2D sprite character. But i put in my own. Which has 8 animation positions. For some reason when my guy walks around,then stop, the walkings animation continues to play out then resets to idles.
I need the animation to reset as soon as i release the key.
Im using Animator if you are wondering.
EDITED: Original video with all the keys for each animations. Youtube video
Second video with only 2 keys per animation, it was a test. Second Video Here
Code Snipet!
using UnityEngine; using System.Collections; public class PlayerMovement : MonoBehaviour { public float speed; private Animator _animator; private Rigidbody2D _rigidbody2D; // Use this for initialization void Start () { _animator = GetComponent <Animator>(); _rigidbody2D = GetComponent <Rigidbody2D>(); } // Update is called once per frame void Update () { CheckDirection(); } void CheckDirection(){ if (Input.GetKey (KeyCode.A)) { WalkAnimation(-1,0,true); } else if (Input.GetKey (KeyCode.D)) { WalkAnimation(1,0,true); } else if (Input.GetKey (KeyCode.W)) { WalkAnimation(0,1,true); } else if (Input.GetKey (KeyCode.S)) { WalkAnimation(0,-1,true); } else { _animator.SetBool("Walking", false); } } void FixedUpdate (){ Move(); } void Move(){ float dirX = _animator.GetFloat("VelX"); float dirY = _animator.GetFloat("VelY"); bool walking = _animator.GetBool("Walking"); if (walking) { _rigidbody2D.velocity = new Vector2(dirX,dirY) * speed; } else { _rigidbody2D.velocity = Vector2.zero; } } void WalkAnimation (float x, float y, bool walking){ _animator.SetFloat("VelX", x); _animator.SetFloat("VelY", y); _animator.SetBool("Walking", walking); } } 