Джойстики геймпада
Джойстики работают иначе, нежели кнопки. Вместо наличия дискретных состояний лева, центра и права, у них есть диапазон значений. Эти значения разделен на две оси, вверх-вниз ось y и вправо-влево ось x. Числовой диапазон этих осей расположен между -1 (самое влево или вниз) и 1 (самое вправо или вверх), а 0 означает что джойстик не сдвинут с его центральной точки.
Наличие диапазона значений означает, что ввод можно разделить на возрастающие значения. Возможно, если игрок только слегка переместил влево, персонаж будет поползти до тех пор, пока игрок не толкнет джойстик полностью влево, и тогда персонаж быстро побежит. В следующем примере выполняется простая проверка, достаточно ли сильно игрок подвинул джойстик вправо или влево, чтобы считать это намеренным движением. Пока игрок удерживает джойстик достаточно сильно в каком-либо направлении, персонаж будет двигаться в том же направлении.
if (game.input.gamepad.pad1.axis(Phaser.Gamepad.XBOX360_STICK_LEFT_X) < −0.1) { player.x− −; } if (game.input.gamepad.pad2.axis(Phaser.Gamepad.XBOX360_STICK_LEFT_X) > 0.1) { player.x++; }

Комментариев нет:
Отправить комментарий