Ошибка ввода Javascript onkeyup / onkeydown - PullRequest
0 голосов
/ 17 марта 2012

Я играю с очень простым маленьким стрелком, чтобы узнать о мольбертах, анимации и кодировании холста. Я столкнулся с проблемой, которая поставила меня в тупик.

Я получаю ошибку unexpected end of imput в Chrome, и это указывает line 1. Что с этим?

Обратите внимание, что в приведенном ниже коде я закомментировал весь код ввода с клавиатуры. Ошибка больше не появляется. Когда я раскомментирую вводимый код документа. addEventListener или window.addEventListener, снова выдается ошибка. И дальнейшие эксперименты привели меня к мысли, что это имеет отношение к объекту события, но кроме этого я понятия не имею.

Надеюсь, кто-то может помочь!

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);
            }
    }
}

1 Ответ

1 голос
/ 17 марта 2012

В последней закомментированной функции onKeyUp(e) отсутствует закрывающая фигурная скобка (})

...