-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathclickhandler.js
46 lines (42 loc) · 1.22 KB
/
clickhandler.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
// var elem = document.getElementById('myCanvas'),
let canvasLeft = canvas.offsetLeft;
let canvasTop = canvas.offsetTop;
// context = elem.getContext('2d'),
class btnToClick {
constructor(top, left, width, height) {
this.top = top;
this.left = left;
this.width = width;
this.height = height;
}
}
let startBtn = new btnToClick(400, 500, 200, 50);
let replayBtn = new btnToClick(430, 500, 200, 50);
let btns = [startBtn, replayBtn];
// Add event listener for `click` events.
canvas.addEventListener(
"click",
function (event) {
let x = event.pageX - canvasLeft;
let y = event.pageY - canvasTop;
// Collision detection between clicked offset and element.
btns.forEach(function (btn) {
if (
y > btn.top &&
y < btn.top + btn.height &&
x > btn.left &&
x < btn.left + btn.width
) {
keyEnterSound.play();
if (!gameStart) {
startGame();
gameStart = true;
}
if (!runningGame) {
location.reload();
}
}
});
},
false
);