예제 #1
0
    public static Vector3 GetJoystickPosition(JoystickRelativeDirect direct, Vector3 basePosition)
    {
        switch (direct)
        {
        case JoystickRelativeDirect.Direct_Left:
            return(basePosition + new Vector3(-JoystickRelativePosition.x, 0, 0));

        case JoystickRelativeDirect.Direct_LeftUp:
            return(basePosition + new Vector3(-JoystickRelativePosition.x, JoystickRelativePosition.y, 0));

        case JoystickRelativeDirect.Direct_Up:
            return(basePosition + new Vector3(0, JoystickRelativePosition.y, 0));

        case JoystickRelativeDirect.Direct_UpRight:
            return(basePosition + new Vector3(JoystickRelativePosition.x, JoystickRelativePosition.y, 0));

        case JoystickRelativeDirect.Direct_Right:
            return(basePosition + new Vector3(JoystickRelativePosition.x, 0, 0));

        case JoystickRelativeDirect.Direct_RightDown:
            return(basePosition + new Vector3(JoystickRelativePosition.x, -JoystickRelativePosition.y, 0));

        case JoystickRelativeDirect.Direct_Down:
            return(basePosition + new Vector3(0, -JoystickRelativePosition.y, 0));

        case JoystickRelativeDirect.Direct_DownLeft:
            return(basePosition + new Vector3(-JoystickRelativePosition.x, -JoystickRelativePosition.y, 0));

        default:
            return(basePosition);
        }
    }
예제 #2
0
    public static Vector3 GetJoystickPosition(Vector3 basePosition)
    {
        JoystickRelativeDirect direct = JoystickRelativeDirect.Direct_Left;

        if (InputDevice.ButtonPressLeft)
        {
            if (InputDevice.ButtonPressUp)
            {
                direct = JoystickRelativeDirect.Direct_LeftUp;
            }
            else if (InputDevice.ButtonPressDown)
            {
                direct = JoystickRelativeDirect.Direct_DownLeft;
            }
            else
            {
                direct = JoystickRelativeDirect.Direct_Left;
            }
        }
        else if (InputDevice.ButtonPressUp)
        {
            if (InputDevice.ButtonPressLeft)
            {
                direct = JoystickRelativeDirect.Direct_LeftUp;
            }
            else if (InputDevice.ButtonPressRight)
            {
                direct = JoystickRelativeDirect.Direct_UpRight;
            }
            else
            {
                direct = JoystickRelativeDirect.Direct_Up;
            }
        }
        else if (InputDevice.ButtonPressRight)
        {
            if (InputDevice.ButtonPressUp)
            {
                direct = JoystickRelativeDirect.Direct_UpRight;
            }
            else if (InputDevice.ButtonPressDown)
            {
                direct = JoystickRelativeDirect.Direct_RightDown;
            }
            else
            {
                direct = JoystickRelativeDirect.Direct_Right;
            }
        }
        else if (InputDevice.ButtonPressDown)
        {
            if (InputDevice.ButtonPressRight)
            {
                direct = JoystickRelativeDirect.Direct_RightDown;
            }
            else if (InputDevice.ButtonPressLeft)
            {
                direct = JoystickRelativeDirect.Direct_DownLeft;
            }
            else
            {
                direct = JoystickRelativeDirect.Direct_Down;
            }
        }
        return(GetJoystickPosition(direct, basePosition));
    }