2013-11-01 42 views
0

我有一個畫布上,我想提出一個菜單屏幕爲我的遊戲警告:的JavaScript當點擊畫布

var canvas = document.createElement("canvas"); 
var ctx = canvas.getContext("2d"); 
canvas.width = 512; 
canvas.height = 480; 
document.body.appendChild(canvas); 

ctx.font="30px monospace"; 
ctx.fillStyle = "black"; 
ctx.strokeText("click to begin",140,260); 

當用戶點擊「點擊開始」,我希望它發展成我的遊戲,但考慮到我無法使用onclick工作,我只是想讓它警覺它已經工作。到目前爲止(基於關閉教程和例子我發現)我有以下代碼:

mouse = (function (target) { 
    var isButtonDown = false; 

    c.addEventListener('mousedown', function() { 
     isButtonDown = true; 
    }); 

    return { 
     isButtonDown: function() { 
      return isButtonDown; 
     } 
    }; 
}(document)); 

var isButtonDown = input.isButtonDown(); 

if (isbuttondown == true) { 
      alert("Mouse clicked"); 
} 

這個代碼什麼也不做,當我運行它。有人可以向我解釋如何讓這個工作,或者至少我需要改變什麼?

由於提前,

萊利

+0

http://stackoverflow.com/questions/9880279/how-do-i-add-a-simple-onclick-event-handler-to-a-canvas-element – Ashish

回答

1

這裏是一個解決方案。

Solution

我已刪除警報,而是使用的console.log。檢查控制檯。

JS

canvas.addEventListener('click', function (evt) { 
    var mousePos = getMousePos(canvas, evt); 
    var message = 'Mouse Clicked at ' + mousePos.x + ',' + mousePos.y; 
    console.log(message); 
}, false); 

function getMousePos(canvas, evt) { 
    var rect = canvas.getBoundingClientRect(); 
    return { 
     x: evt.clientX - rect.left, 
     y: evt.clientY - rect.top 
    }; 
} 

編輯:這裏是一樣的撥弄Alert選項。 FIDDLE

+0

感謝MarsOne,這很好。 – Progrmr