1 using UnityEngine; 2 using System.Collections; 3 4 5 public class AvatarCtrl :MonoBehaviour { 6 7 protected Animator animator; 8 9 public float DirectionDampTime = .25f; 10 11 void Start () 12 { 13 animator = GetComponent<Animator>(); 14 } 15 16 void Update () 17 { 18 if(animator) 19 { 20 //get the current state 21 AnimatorStateInfo stateInfo = animator.GetCurrentAnimatorStateInfo(0); 22 23 //if we‘re in "Run" mode, respond to input for jump, and set the Jump parameter accordingly. 24 if(stateInfo.nameHash == Animator.StringToHash("Base Layer.RunBT")) 25 { 26 if(Input.GetButton("Fire1")) 27 animator.SetBool("Jump", true ); 28 } 29 else 30 { 31 animator.SetBool("Jump", false); 32 } 33 34 float h = Input.GetAxis("Horizontal"); 35 float v = Input.GetAxis("Vertical"); 36 37 //set event parameters based on user input 38 animator.SetFloat("Speed", h*h+v*v); 39 animator.SetFloat("Direction", h, DirectionDampTime, Time.deltaTime); 40 } 41 } 42 }
时间: 2024-11-17 09:40:30