A lightweight JavaScript game engine
git clone git://soophie.de/game-engine
10
this.canvas = document.createElement('canvas');11
scaleCanvas(this.canvas, this.width, this.height);12
this.g = this.canvas.getContext('2d');13
this.events = new Proxy({}, {14
get: function(object, prop) {15
const val = object[prop];16
if(typeof val !== 'undefined') {17
delete object[prop];18
}19
return val;20
}21
});22
}23
start() {24
requestAnimationFrame(this.loop.bind(this));
50
this.height = height;51
scaleCanvas(this.canvas, this.width, this.height);52
}53
bindEvent(element, event) {54
element[event] = event => {55
this.events[event.type] = this.populateEvent ? { type: event.type, ...this.populateEvent(event) } : event;56
}57
}58
}60
export class Group {
132
this.x = x;133
this.y = y;134
this.shape = shape;135
this.events = new Proxy({}, {136
get: function(object, prop) {137
const val = object[prop];138
if(typeof val !== 'undefined') {139
delete object[prop];140
}141
return val;142
}143
});144
}145
update() {146
// empty
157
g.stroke();158
}159
}160
causeEvent(event) {161
this.events[event.type] = event;162
}163
}165
class Rect {