游戏中的Javascript触摸事件句柄

时间:2016-08-19 14:20:43

标签: javascript android html touch

我使用开源游戏,我尝试(进行锻炼)修改它,以便它可以在Android上运行。问题是:

在原始游戏中你使用空间跳跃,我需要游戏来响应一个tactil事件,这样charachter才能真正跳跃。

游戏使用此代码来跟踪空格键事件:

var KEY_CODES = {
  32: 'space'
};
var KEY_STATUS = {};
for (var code in KEY_CODES) {
  if (KEY_CODES.hasOwnProperty(code)) {
     KEY_STATUS[KEY_CODES[code]] = false;
  }
}
document.onkeydown = function(e) {
  var keyCode = (e.keyCode) ? e.keyCode : e.charCode;
  if (KEY_CODES[keyCode]) {
    e.preventDefault();
    KEY_STATUS[KEY_CODES[keyCode]] = true;
  }
};
document.onkeyup = function(e) {
  var keyCode = (e.keyCode) ? e.keyCode : e.charCode;
  if (KEY_CODES[keyCode]) {
    e.preventDefault();
    KEY_STATUS[KEY_CODES[keyCode]] = false;
  }
};

// jump higher if the space bar is continually pressed
if (KEY_STATUS.space && jumpCounter) {
  player.dy = player.jumpDy;
}

那么如何在空格键事件中转换触摸事件呢?

在此先感谢您的帮助,我是新编码的,我正在努力学习:)

1 个答案:

答案 0 :(得分:1)

您可以将以下代码添加到脚本中,以模拟触摸事件中的空格键事件。

  document.addEventListener("touchstart", function(e) {
    document.onkeydown({ keyCode: 32 });
  });
  document.addEventListener("touchend", function(e) {
    document.onkeyup({ keyCode: 32 });
  });