Показать сообщение отдельно
Старый 05.08.2009, 09:39
mamtn вне форума Посмотреть профиль Отправить личное сообщение для mamtn Найти все сообщения от mamtn
  № 1  
Ответить с цитированием
mamtn

Регистрация: Jul 2009
Адрес: C-Петербург
Сообщений: 37
По умолчанию событие смены кадров

Наверное для многих это просто, а мне вот не понятно.
В игре нужно управлять клипом с помощью клавиш.
В AS2 это было сделано так:
Код:
 
var scor:Number=3;
_root.onEnterFrame=function(){// Внутри этой функции основной код игры 

//------- Управление клипом Kl с помощью клавиатуры----------------------
		if (Key.isDown(Key.RIGHT)) {
		Kl._x += scor;
		
		} 
		if (Key.isDown(Key.UP)) {
				Kl._y -= scor;
		} 
	    if (Key.isDown(Key.DOWN)) {
			   Kl._y +=scor ;
	    }
	    if (Key.isDown(Key.LEFT)) {
			  Kl._x -=scor;
	    }

}
.
А в AS3 я это пытаюсь сделать так:
Код:
 
var scor:Number=3;
import flash.display.MovieClip;
	import flash.events.*;
stage.addEventListener(KeyboardEvent.KEY_DOWN,dvMovie);

function dvMovie(event:KeyboardEvent):void
{
	if (event.keyCode == Keyboard.RIGHT) 
    { 
       Kl.x+=scor;
    } 
 if (event.keyCode == Keyboard.LEFT) 
    { 
       Kl.x-=scor;
    } 
 if (event.keyCode == Keyboard.UP) 
    { 
       Kl.y-=scor;
    } 
  if (event.keyCode == Keyboard.DOWN) 
    { 
       Kl.y+=scor;
    } 
}
.

В общем-то оно и работает. Но тормозит- нажмешь клавишу а клип еще думает, двигаться или нет
Потом двигается – при нажатой клавише.
Я так понимаю, что надо еще как-то enterFrame подключить, но как?