Я следую этому курсу udemy и в разделе, где мы реализуем очень упрощенную поддержку геймпада, я не могу заставить свой контроллер XBOX One работать так, как показано в лекции. Вот скрипт get_input() с поддержкой как клавиатуры (которая отлично работает, когда контроллер не подключен), так и поддержки геймпада.
//keyboard input
left = keyboard_check(vk_left);
right = keyboard_check(vk_right);
up = keyboard_check(vk_up);
down = keyboard_check(vk_down);
attack = keyboard_check_pressed(vk_shift);
jump = keyboard_check_pressed(vk_space);
jump_held = keyboard_check(vk_space);
block = keyboard_check(ord("Z"));
//controller input
var _dev = 0;
if gamepad_is_connected(_dev) {
var _deadzone = 0.3;
left = gamepad_axis_value(_dev, gp_axislh) < -_deadzone;
right = gamepad_axis_value(_dev, gp_axislh) > _deadzone;
up = gamepad_axis_value(_dev, gp_axislv) < -_deadzone;
down = gamepad_axis_value(_dev, gp_axislv) > _deadzone;
attack = gamepad_button_check_pressed(_dev, gp_face2);
jump = gamepad_button_check_pressed(_dev, gp_face1);
jump_held = gamepad_button_check(_dev, gp_face1);
block = gamepad_button_check(_dev, gp_shoulderr);
}
Я знаю, что мой геймпад обнаружен, потому что когда я запускаю этот код:
var numPads= gamepad_get_device_count();
for(var i = 0; i < numPads; i++;)
{
if(gamepad_is_connected(i)) show_message(string(i) + ": " + gamepad_get_description(i));
}
Я получаю сообщение "0: XInput STANDARD GAMEPAD". Однако, когда я запускаю игру и пытаюсь использовать кнопки или джойстик, ничего не происходит. Я пытался использовать два разных контроллера XBOX One, но у меня та же проблема. Когда я пытаюсь подключить свой контроллер gamecube с помощью адаптера контроллера Mayflash GC к слоту 4, он работает. Я упустил что-то конкретное о контроллерах XBOX One? Я думаю, что на курсе преподаватель использует контроллер XBOX 360, которого у меня нет.
Пожалуйста, пришлите помощь!