2014-10-08 58 views
0

我设计在javascript中的比赛,我有去这样的功能:如何在JavaScript游戏监听鼠标点击

function handleKeys(mod) { 

    if (37 in keysDown || 65 in keysDown) { //left 
     player.x -= player.speed * mod; 
    } 
    if (38 in keysDown || 87 in keysDown) { //up 
     player.y -= player.speed * mod; 
    } 
    if (39 in keysDown || 68 in keysDown) { //right 
     player.x += player.speed * mod; 
    } 
    if (40 in keysDown || 83 in keysDown) { //down 
     player.y += player.speed * mod; 

,我想补充另一个条件是叫我拍()函数,当我点击鼠标。我怎样才能写出这样的条件,以便它类似于上面的代码,因为我见过的每个教程都告诉我如何制作可点击的按钮,并要求我使用addEventListener,而我认为这不适合我尝试的去做。

+1

只是做的addEventListener您画布或其他,并设置一个mouseDown = true/false;然后,你可以在你的handleKeys(..)代码处理这个if(mouseDown){//拍摄 – 2014-10-08 22:50:02

+1

addEventListener是监听事件的最佳方式 – Markasoftware 2014-10-08 22:52:35

回答

1

使用鼠标的坐标,告诉那里的投篮,并以此作为你的HTML标签:

<html onclick="shoot()"> 
    <!-- code --> 
</html> 

你也可以使用的onclick上你的画布,如:

<canvas onclick="shoot()" id="game_pad"></canvas> 
+0

但是如果我想要保留尽可能多的在单独的.js文件中的代码尽可能?你必须在HTML中做到这一点,或者你可以参考JavaScript中的画布并在那里做? – user3150635 2014-10-08 22:59:23

+0

在javascript中执行此操作的唯一方法是通过eventListener,或者您可以使用jQuery。我不太了解jQuery,所以我不能告诉你如何使用jQuery方法。 – DanielAllen999 2014-10-09 00:32:52