2014-10-08 61 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