@Pashtet221

Как сделать мобильное управление(джойстик)?

Как заменить эту конструкцию на джойстик
public override void Drive_Input()
        {
            // Set "vertical".
            if (Input.GetKey(General_Settings_CS.Drive_Up_Key))
            {
                vertical = 1.0f;
            }
            else if (Input.GetKey(General_Settings_CS.Drive_Down_Key))
            {
                vertical = -0.5f;
            }
            else
            {
                vertical = 0.0f;
            }

            // Set "horizontal".
            if (Input.GetKey(General_Settings_CS.Drive_Left_Key))
            {
                horizontal = -1.0f;
            }
            else if (Input.GetKey(General_Settings_CS.Drive_Right_Key))
            {
                horizontal = 1.0f;
            }
            else
            {
                horizontal = 0.0f;
            }

            // Control the brake.
            controlScript.Apply_Brake = Input.GetKey(General_Settings_CS.Drive_Brake_Key);

            // Set the "Stop_Flag", "L_Input_Rate", "R_Input_Rate" and "Turn_Brake_Rate".
            Set_Values();
        }

Это работает с управлением под ПК. Отвечает за перемещение танка на клавиши W,A,S,D.
Скачал стандартный бесплатный джойстик на asset store и заменил этим кодом:
public override void Drive_Input()
        {
            // Set "vertical".
            if (joystick.Vertical > 0)
            {
                vertical = 1.0f;
            }
            else if (joystick.Vertical < 0)
            {
                vertical = -0.5f;
            }
            else
            {
                vertical = 0.0f;
            }

            // Set "horizontal".
            if (joystick.Horizontal > 0)
            {
                horizontal = -1.0f;
            }
            else if (joystick.Horizontal > 0)
            {
                horizontal = 1.0f;
            }
            else
            {
                horizontal = 0.0f;
            }

            // Control the brake.
            controlScript.Apply_Brake = Input.GetKey(General_Settings_CS.Drive_Brake_Key);

            // Set the "Stop_Flag", "L_Input_Rate", "R_Input_Rate" and "Turn_Brake_Rate".
            Set_Values();
        }


Работает, но с задержками(только в месте в которое нажал) и танк поворачивает не так как надо. Проще говоря как заменить клавиши WASD на джойстик
  • Вопрос задан
  • 101 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы