マイペースなプログラミング日記

x86エミュレータやFPGA、WebGLにお熱なd-kamiがマイペースに書くブログ

簡単なシューティングゲーム作成 その4

今回は簡単な修正を行う。それは、前回までのプログラムだと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;
}