我正在使用一款开源游戏,并且正在尝试(作为练习)对其进行修改,以便它可以在 Android 上运行。问题是:
在原始游戏中,您使用空间跳跃,我需要游戏响应触觉事件,这样 Angular 色才能真正跳跃。
游戏使用此代码来跟踪空格键事件:
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 });
});
关于游戏中的 Javascript 触摸事件句柄,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39041374/