今回は簡単な修正を行う。それは、前回までのプログラムだとFirefox9でキーイベントが発生しなくなっていたので、これを修正。body要素のonkeydownとonkeyupを取っ払いHTMLに書いたgame関数を以下のようにする。document.onkeydownとdocument.onkeyupの行を追加した。
function game(){ var canvas = document.getElementById("canvas"); var context = canvas.getContext("2d"); view = new GameView(context, 600, 400); view.loadImages(IMAGE_NAMES, IMAGE_FILES); document.onkeydown = keydown; document.onkeyup = keyup; setInterval(function(){ view.draw(); }, 16); }
またプレイヤー機が画面の外にでないようにPlayer.jsのdoMoveメソッドの最後に以下のプログラムを入れておく
if(this.position.x < 0){ this.position.x = 0; }else if(this.position.x > info.width - 72){ this.position.x = info.width - 72; } if(this.position.y < -8){ this.position.y = -8; }else if(this.position.y > info.height - 34){ this.position.y = info.height - 34; }