游戏中的Javascript触摸事件处理

Javascript touch event handle in a game

本文关键字:触摸 事件处理 Javascript 游戏      更新时间:2023-09-26

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

在最初的游戏中,你使用空间来跳跃,我需要游戏对一个触觉事件做出反应,这样角色才能真正地跳跃。

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

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;
}

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

提前感谢你的帮助,我是新的编码,我正在努力学习:)

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

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