0

クロムに入ってエラーを探した場合に備えて、すべてを入れましたが、どちらも機能していなかったので、最初の行に問題があるようです。最初の 6 行を保持し、それ以外はすべて削除すると問題なく動作したので、SublimeText2 に移動して、コード内のすべての ) と } を検索しました。

var canvasBg = document.getElementById('canvasBg');
var ctxBg = canvasBg.getContext('2d');


var canvasJet = document.getElementById('canvasJet');
var ctxJet = canvasJet.getContext('2d');

var jet1;
var fps = 17;
var drawInterval;

var imgSprite = new Image();
imgSprite.src = 'SpriteSheet.png'
imgSprite.addEventListener('load',init,false);


function init() {
    drawBg();
    startDrawing();
    jet1 = new Jet();
    document.addEventListener('keydown',checkKeyDown,false);
    document.addEventListener('keyup',checKeyUp,false);
}

function draw() {
    jet1.draw();
}


function startDrawing() {
    stopDrawing();
    drawInterval = setInterval(draw,fps);
}


function stopDrawing() {
    clearInterval(setInterval);
}



Jet.prototype.draw = function() {
    clearCtxJet();
    ctxJet.drawImage(imgSprite,this.srcX,this.srcY,this.width,this.height,this.drawX,this.drawY,this.width,this.height);

};




function Jet() {
    this.srcX = 0;
    this.srcY = 0;
    this.drawX = 200;
    this.drawY = 200;
    this.width = 96;
    this.height = 30;
    }



function drawJet() {
}





function drawBg() {

    ctxBg.drawImage(imgSprite,96,0,800,500,0,0,800,500)

}

function clearCtxBg() {
    ctxBg.clearRect(0,0,800,500);
}

function clearCtxJet() {
    ctxJet.clearRect(0,0,800,500);
}



function checkKeyDown(e) {

    var keyID = (e.keyCode) ? e.keyCode : e.which;
    if (keyID === 38) { // 38 is up key
        alert('up arrow was pressed');
        e.preventDeafault();
    }

    if (keyID === 39) { // 39 is right key
        e.preventDeafault();
    }

    if (keyID === 40) { // 40 is down key
        e.preventDeafault();
    }

    if (keyID === 37) { // 37 is left key
        e.preventDeafault();
    }


function checkKeyup(e) {

    var keyID = (e.keyCode) ? e.keyCode : e.which;
    if (keyID === 38) { // 38 is up key
        alert('up arrow was pressed');
        e.preventDeafault();
    }

    if (keyID === 39) { // 39 is right key
        e.preventDeafault();
    }

    if (keyID === 40) { // 40 is down key
        e.preventDeafault();
    }

    if (keyID === 37) { // 37 is left key
        e.preventDeafault();
    }

}

4

2 に答える 2

0

コードの一部のみを表示していると思われるため、これが実際のエラーかどうかを知る方法はありませんが、checkKeyup と checkKeydown の両方に右中かっこがありません。

Sublime Text 2 のPackage Controlをインストールし、それを使用してSublimeLinterをインストールすることをお勧めします。SublimeLinter を使用すると、コードをチェックして、セミコロンと中括弧の欠落を指摘できます。

于 2013-03-03T09:16:19.290 に答える
0

http://jsfiddle.netで完全なコードを確認できれば幸いです。

于 2013-03-03T09:18:25.683 に答える