Javascript onkeyup/onkeydown input

Javascript onkeyup/onkeydown input

本文关键字:input onkeydown onkeyup Javascript      更新时间:2023-09-26

我玩的是一个非常简单的小射击游戏,学习关于easeljs、tweenjs和画布编码的知识。我遇到了一个困扰我的问题。

我在Chrome中得到一个unexpected end of input错误,它指示line 1。怎么了?

请注意,在下面的代码中,我已经注释掉了所有的键盘输入代码。错误不再出现。当我取消对任一文档的注释时。CCD_ 3或CCD_ 4输入代码时再次抛出错误。进一步的实验让我相信这与事件对象有关,但除此之外,我一无所知。

希望有人能帮忙!

window.addEventListener('load', eventWindowLoaded, false);
function eventWindowLoaded() {
    init();
}
function init() {
    console.log("init hit");
    canvas = document.getElementById("canvas");
    stage = new Stage(canvas);
    createStarField();
    shipImg = new Image();
    shipImg.onload = onShipLoaded;
    shipImg.src = "ship1.png";
    Ticker.setFPS(30);
    Ticker.addListener(window);
 /*   document.addEventListener('keydown', function(event) {
        switch(event.keyCode)  {
            case 37: // left
                moveLeft = true; moveRight = false;
                break;
            case 38: moveUp = true; moveLeft = false;
                break;
            case 39: moveRight = true; moveLeft = false;
                break;
            case 40: moveDown = true; moveUp = false;
                break;
        }
    }, false);
    document.addEventListener('keyup', function() {
        switch(e.keyCode) {
            // left
            case 37: moveLeft = false;
                break;
            // up
            case 38: moveUp = false;
                break;
            // right
            case 39: moveRight = false;
                break;
            // down
            case 40: moveDown = false;
                break;
    }
}, false);
*/
/*function onKeyDown(e) {
    //if(!e) { var e = window.event; }
    switch(e.keyCode) {
        // left
            case 37: moveLeft = true; moveRight = false;
            break;
            case 38: moveUp = true; moveLeft = false;
            break;
            case 39: moveRight = true; moveLeft = false;
            break;
            case 40: moveDown = true; moveUp = false;
            break;
    }
}
function onKeyUp(e) {
   // if(!e) { var e = window.event; }
    switch(e.keyCode) {
        // left
        case 37: moveLeft = false;
            break;
        // up
        case 38: moveUp = false;
            break;
        // right
        case 39: moveRight = false;
            break;
        // down
        case 40: moveDown = false;
            break;
    }
*/
    function checkMovement() {
        if(moveLeft)
        {
            ship.x -= speed;
            if(ship.x < 0)
                ship.x = 640;
        }
        else if(moveRight)
        {
            ship.x += speed;
            if(ship.x > 640)
                ship.x = 0;
        }
        if(moveUp)
        {
            if(ship.y - speed > 24)
                ship.y -= speed;
        }
        else if(moveDown)
        {
            if(ship.y + speed < 460)
                ship.y += speed;
        }
    }
    function onShipLoaded() {
    ship = new Bitmap(shipImg);
    ship.regX = ship.image.width * .05;
    ship.regY = ship.image.height * 0.5;
    ship.x = 320;
    ship.y = 450;
    stage.addChild(ship);
}
function createStarField() {
    console.log("create star field");
    stars = new Array();
    g = new Graphics();
    g.setStrokeStyle(1);
    g.beginStroke(Graphics.getRGB(255,255,255));
    g.beginFill(Graphics.getRGB(255,255,255));
    g.drawCircle(0,0,1);
    for(var i = 0; i < 100; ++i) {
        var s = new Shape(g);
        stars.push(s);
        s.x = randRange(10,630);
        s.y = randRange(-250, 470);
        s.scaleX = randRange(0.5, 2);
        s.scaleY = s.scaleX;
        s.alpha = Math.random() + 0.2;
        stage.addChild(s);
    }
}
function randRange(min, max) {
    return Math.floor(Math.random()*(max - min)) + min;
}
function tick() {
    console.log("tick hit");
    updateStarField();
    checkMovement();
    stage.update();
}
function updateStarField() {
    console.log("updateStarField()");
    var curStar;
    var limit = stars.length;
    for(var i = 0; i < limit; ++i) {
        curStar = stars[i];
        curStar.y += 4
            if(curStar.y > 480) {
                curStar.x = randRange(10,630);
                curStar.y = -randRange(20, 450);
            }
    }
}

最后一个注释掉的onKeyUp(e)函数缺少一个右大括号(}