コード例 #1
0
    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;
            }
        }
    }
コード例 #2
0
 /// <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;
         }
     }
 }