Показать сообщение отдельно
  #1 (permalink)  
Старый 24.05.2015, 08:14
Новичок на форуме
Отправить личное сообщение для Maxsim_Smolim Посмотреть профиль Найти все сообщения от Maxsim_Smolim
 
Регистрация: 24.10.2014
Сообщений: 9

Settimeout( "speed", "right" )
Как сделать чтобы функция 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>
Ответить с цитированием