-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.js
More file actions
42 lines (37 loc) · 1.25 KB
/
app.js
File metadata and controls
42 lines (37 loc) · 1.25 KB
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
import EventEmitter from "./modules/EventEmitter.mjs";
import Messages from "./modules/messages.mjs";
import GameObjectsList from "./modules/GameObjectsList.mjs";
import GameLoopManager from "./modules/GameLoopManager.mjs";
import KeyManager from "./modules/KeyManager.mjs";
import addListeners from "./modules/addListeners.mjs"
window.addEventListener('keydown', (evt) => {
const hero = GameObjectsList.myHero();
KeyManager.keyPressed(evt.key);
switch (evt.keyCode) {
case 37:
case 39:
case 38:
case 40: // Arrow keys
case 32:
evt.preventDefault();
break; // Space
default:
break; // do not block other keys
}
if (evt.key === "ArrowLeft") {
EventEmitter.emit(Messages.KEY_EVENT_LEFT, hero);
} else if (evt.key === "ArrowRight") {
EventEmitter.emit(Messages.KEY_EVENT_RIGHT, hero);
} else if (evt.keyCode === 32) {
EventEmitter.emit(Messages.KEY_EVENT_SPACE, hero);
} else if (evt.key === "Enter") {
EventEmitter.emit(Messages.KEY_EVENT_ENTER);
}
});
window.addEventListener("keyup", (evt) => {
KeyManager.keyReleased(evt.key);
});
window.onload = async () => {
addListeners();
GameLoopManager.initGame();
};