所以我将控件设置为空格键以跳转但我希望我的HTML5游戏能够在任何地方工作,所以我需要将其更改为鼠标/触摸。鼠标/触摸没有键码,那么这个代码的最佳方式是什么?我是否需要单独进行鼠标触摸?
if (KEY_STATUS.space && player.dy === 0 && !player.isJumping) {
player.isJumping = true;
player.dy = player.jumpDy;
jumpCounter = 12;
assetLoader.sounds.jump.play();
}
// jump higher if the space bar is continually pressed
if (KEY_STATUS.space && jumpCounter) {
player.dy = player.jumpDy;
}
答案 0 :(得分:1)
您正在谈论JavaScript中的触摸事件。您必须添加一个事件监听器并捕获用户是否触摸屏幕。 Here您可以找到有关如何在触摸屏和鼠标上使用它的详细文档教程。
查看第一个answer,你必须这样做。你必须在canvas
本身添加一个事件监听器,就像那个人在myDiv
上做的那样。
以下是我写的一个例子(请不要因为我很奇怪):
<div id="fakeCanvas">
Click or touch me!
</div>
<script type="text/javascript">
var fakeCanvas = document.getElementById('fakeCanvas');
function methodToInvokeForClick() {
alert('I have been clicked!');
}
function methodToInvokeForTouch() {
alert('I have been touched!');
}
fakeCanvas.addEventListener("click", methodToInvokeForClick, false);
fakeCanvas.addEventListener("touchstart", methodToInvokeForTouch, false);
</script>
我想你可以从现在开始接受它。我对fakeCanvas
div
做了什么,你必须给canvas
id
做同样的事情。祝你好运!