Создание HTML5, CSS и JavaScript игр - PullRequest
0 голосов
/ 17 декабря 2018

У меня есть игра, которую я сделал с HTML5, CSS и JavaScript.У меня есть теги HTML-изображения стрелок джойстика.Я бы хотел, чтобы пользователи могли щелкать мышью по изображениям стрелок моего джойстика и работать так, как если бы были нажаты стрелки на клавиатуре.Как заставить keyCode 39 срабатывать при нажатии на изображение правой стрелки?Я написал такой код, но он не работает:

var $rt_arrow = $('.rt_arrow') 

$rt_arrow.on('click' , function (e) {
    e.keyCode == 39 
}) 

Ответы [ 2 ]

0 голосов
/ 17 декабря 2018

Вы столкнулись с проблемой XY .

В этом случае вы не хотите запускать событие клавиатуры, вы просто хотите, чтобы событие мыши вызывало то же действие, что и клавиатура.event.

То есть вы делаете код более модульным и создаете функции для каждого действия, тогда вы можете заставить свои обработчики вызывать требуемую функцию:

onkeydown = e => {
  if(e.key === 'ArrowLeft') goLeft();
  else if(e.key === 'ArrowRight') goRight();
  // ...
};
onclick = e => {
  if(e.target === left_arrow) goLeft();
  else if(e.target === right_arrow) goRight();
  // ...
};
0 голосов
/ 17 декабря 2018

Я считаю, что это то, что вы ищете http://www.port135.com/2017/12/24/how-to-simulate-keyboard-key-press-in-javascript-using-jquery/

Я не проверял это, поэтому я не уверен на 100%, хотя это кажется довольно простым.

Так вместо:

    e.keyCode == 39

Поставить:

    jQuery.event.trigger({ type: 'keydown', which: 39 });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...