private void JudgeDir(Vector2 dir) { animator.speed = 1.0f; //水平数值大于竖直 if (Mathf.Abs(dir.x) > Mathf.Abs(dir.y)) { //右 if (dir.x > 0) { playerState = EnumManager.PlayerState.WalkRight; } else { playerState = EnumManager.PlayerState.WalkLeft; } } else { //up if (dir.y > 0) { playerState = EnumManager.PlayerState.WalkUp; } else { playerState = EnumManager.PlayerState.WalkDown; } } }
/// <summary> /// 根据方向判断动画朝向 /// </summary> private void JudgeDir(float h, float v) { //水平大于竖直位移 if (Mathf.Abs(v) < Mathf.Abs(h)) { //右 if (h > 0) { playerState = EnumManager.PlayerState.WalkRight; playerToward = EnumManager.RoleToward.Right; } else { playerState = EnumManager.PlayerState.WalkLeft; playerToward = EnumManager.RoleToward.Left; } } else { //上 if (v > 0) { playerState = EnumManager.PlayerState.WalkUp; playerToward = EnumManager.RoleToward.Up; } else { playerState = EnumManager.PlayerState.WalkDown; playerToward = EnumManager.RoleToward.Down; } } }