ここで奇妙な動作があります。レンダリングされたJSでは、updateメソッドのthisの値はwindowですが、Gameである必要があります(onKeyDownメソッドの場合と同様)。これをどのように修正しますか?
class Game {
//for the key events
rightDown: bool = false;
constructor() {
}
onKeyDown(evt) {
if (evt.keyCode == 39) this.rightDown = true;
else if (evt.keyCode == 37) this.leftDown = true;
if (evt.keyCode == 32) {
this.space = true;
var bullet = new GameObjects.GameObjects.Bullet(10);
this.addProjectile(bullet);
};
}
update(elapsed: number) {
if (this.rightDown) {
console.log(this.rightDown);
}
}