пытается переместить ящик с ключами и он не работает - PullRequest
2 голосов
/ 25 марта 2011

У меня есть скрипка здесь: http://jsfiddle.net/maniator/SZpkF/1/

Зеленый ящик должен двигаться вместе со стрелками. Кто-нибудь может объяснить, почему это не сработает?

ЯШ:

var game = {
    playArea: null,
    player: null,
    init: function() {
        this.playArea = $('<div>', {
            style: 'background-color: #AAF;'
        });
        this.player = $('<span>');
        this.player.css({
            width: 20,
            height: 20,
            'background-color': '#AFA',
            display: 'block',
            position: 'absolute',
            top: 0,
            left: 0
        })
        $(window).resize(game.resize);
        $('body').append(this.playArea);
        this.resize();
        this.playArea.append(this.player);
        $(document).keydown(function(event) {
            game.keydown(event)
        })
        return this;
    },
    resize: function() {
        //console.log('resize', game);
        game.playArea.css({
            width: $(window).width() - 50,
            height: $(window).height() - 50,
        });
        return this;
    },
    keydown: function(event) {
        var direction;
        switch (event.keyCode) {
        case 38:
            direction = {
                'top': '-= 15'
            };
            break;
        case 40:
            direction = {
                'top': '+= 15'
            };
            break;
        case 37:
            direction = {
                'left': '+= 15'
            };
            break;
        case 39:
            direction = {
                'left': '-= 15'
            };
            break;
        }
        console.log(direction, event, game.player);
        game.player.animate(direction, 'slow');
    }
};

$(function() {
    game.init();
})

1 Ответ

3 голосов
/ 25 марта 2011

Не похоже, что jQuery любит пробелы после -= и +=.Я удалил их, и это сработало, хотя и в обратном направлении.

...