forked from BogomilDimitrov/JavaScriptGameFramework
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.js
More file actions
60 lines (46 loc) · 1.24 KB
/
main.js
File metadata and controls
60 lines (46 loc) · 1.24 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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d');
var input = new Input();
attachListeners(input);
var player = new Player(canvas.width - 50, 100);
var enemy = new Enemy(-100, 100);
var previousTime = Date.now();
function update() {
this.tick();
this.render(ctx);
requestAnimationFrame(update);
}
function tick() {
movePlayer();
modifyEnemySpeed();
enemy.movement.right = true;
if(player.boundingBox.intersects(enemy.boundingBox)) {
enemy.animation.setRow(2);
enemy.animation.setColumn(2);
enemy.animation.setLimit(1);
enemy.isHit = true;
enemy.movement.down = true;
}
enemy.update();
player.update();
}
function render(ctx) {
ctx.clearRect(0, 0, canvas.width, canvas.height);
player.render(ctx);
enemy.render(ctx);
}
function movePlayer() {
player.movement.right = !!input.right;
player.movement.left = !!input.left;
player.movement.up = !!input.up;
player.movement.down = !!input.down;
}
function modifyEnemySpeed() {
var now = Date.now();
var difference = Math.abs(now - previousTime) / 1000;
if(difference >= 10) {
previousTime = now;
enemy.velocityModifier += 0.1;
}
}
update();