public class Player_Move : MonoBehaviour {
public float speed=1;
private Animator ani;
private int groundLayerIndex = -1;
//设置初始地面层不存在
// Use this for initialization
void Start () {
ani=this.GetComponent<Animator>();
groundLayerIndex = LayerMask.GetMask("Ground");
}
// Update is called once per frame
void Update () {
//控制移动
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);
//控制转向
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hitInfo;
if ( Physics.Raycast(ray, out hitInfo, 200, groundLayerIndex))
{
Vector3 target = hitInfo.point;
target.y = transform.position.y;
transform.LookAt(target);
};
//控制动画
if (h != 0 || v != 0)
{
ani.SetBool("Move", true);
}
else
{
ani.SetBool("Move",false);
}
//
}
}
public float speed=1;
private Animator ani;
private int groundLayerIndex = -1;
//设置初始地面层不存在
// Use this for initialization
void Start () {
ani=this.GetComponent<Animator>();
groundLayerIndex = LayerMask.GetMask("Ground");
}
// Update is called once per frame
void Update () {
//控制移动
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);
//控制转向
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hitInfo;
if ( Physics.Raycast(ray, out hitInfo, 200, groundLayerIndex))
{
Vector3 target = hitInfo.point;
target.y = transform.position.y;
transform.LookAt(target);
};
//控制动画
if (h != 0 || v != 0)
{
ani.SetBool("Move", true);
}
else
{
ani.SetBool("Move",false);
}
//
}
}