承接上一篇的继续!!!来看player的动画播放。每当按下键盘时,player就会有相应的动画。代码还是写在上个控制角色移动的脚本里
如下:
using UnityEngine;
using System.Collections;
public class playermove : MonoBehaviour {
public float speed = 3f;
private Animator anim;//定义动画
private float h;
private float v;
void Start () {
anim = this.GetComponent<Animator>();
}
void FixedUpdate () {
float h = Input.GetAxis("Horizontal");
float v = Input.GetAxis("Vertical");
//transform.Translate(new Vector3(h,0,v)*speed*Time.deltaTime);//可以用,但是无碰撞、
rigidbody.MovePosition(transform.position+new Vector3(h,0,v)*speed*Time.deltaTime);
if (h != 0 || v != 0)//每当X或者Z轴有了变化的时候就需播放动画
{
anim.SetBool("Move", true);//在第一篇状态机里设定了Move的状态,即:为true时是Move的动画
}
else
{
anim.SetBool("Move",false);//为false要从Mover转化为idle状态。
}
}
}