Как заменить эту конструкцию на джойстик
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 на джойстик