将我的HTML5游戏控件更改为鼠标/触控

时间:2014-12-31 14:38:48

标签: javascript html5 mobile

所以我将控件设置为空格键以跳转但我希望我的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;
}

1 个答案:

答案 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做同样的事情。祝你好运!