Как сделать чтобы функция Settimeout через 3 секунды вызвала RIGHT: player.row(2); speed = 10; prop = 'right';
А не по клавишам.
$(function() {
var player = $('#player1').sprite({
cellSize: [32,32],
cells: [4, 3],
initCell: [2,0],
offset: [4, 0],
wrap: true
}).css({left: 5, top:440});
var UP = 87,
DOWN = 83,
LEFT = 65,
RIGHT = 68,
direct = DOWN,
speed = 43,
prop = 'top',
BOARD_WIDTH = 1000,
BOARD_HEIGHT = 1000,
char = false;
$(window).keydown(function(e) {
var key = e.which;
if($.inArray(key, [UP,DOWN,LEFT,RIGHT]) >= 0) {
if (key == direct) {
player.next();
var nextPos = parseInt(player.css(prop),10) + speed;
if (prop == 'top') {
if(nextPos < 0) nextPos = BOARD_HEIGHT - 1;
player.css(prop, nextPos % BOARD_HEIGHT);
} else if (prop == 'left') {
if(nextPos < 0) nextPos = BOARD_WIDTH - 1;
player.css(prop, nextPos % BOARD_WIDTH);
}
} else {
switch(key) {
case UP: player.row(3); speed = -10; prop = 'top'; break;
case DOWN: player.row(0); speed = 10; prop = 'top'; break;
case LEFT: player.row(1); speed = -10; prop = 'left'; break;
case RIGHT: player.row(2); speed = 10; prop = 'left'; break;
}
direct = key;
}
} else if (key == 13) {
char = !char;
player.offset(char ? 93 : 0,0);
}
});
});
<span id="player1" class="player"></span>