Показать сообщение отдельно
Старый 16.06.2009, 14:22
lexa2000lexa вне форума Посмотреть профиль Отправить личное сообщение для lexa2000lexa Найти все сообщения от lexa2000lexa
  № 16  
Ответить с цитированием
lexa2000lexa

Регистрация: Sep 2005
Сообщений: 950
попробуйде вот так
Код AS1/AS2:
mc.stop();
var flag:Number = 0;
// определем функцию для мувика
 
function start_f(num:Number,f:Boolean) {
	mc.onEnterFrame = function() {
		if(f){
			if (num) {
				mc.nextFrame();// переходим на следующий кадр
			} else {
				mc.prevFrame();// переходим на предыдущий кадр
			}
		}
		else{
			if(flag%2==0){
				if (num) {
					mc.nextFrame();// переходим на следующий кадр
				} else {
					mc.prevFrame();// переходим на предыдущий кадр
				}
			}
			}
		flag ++;
	};
}
var pres:Boolean = false;
var listener:Object = new Object();
// обработчик нажатий клавиши
listener.onKeyDown = function() {
	if(Key.getCode()==Key.LEFT || Key.getCode()==Key.RIGHT){//&&Key.getCode()==39){
		pres = true;
	}
	if((Key.getCode()==Key.UP) && pres){
		start_f(1,false);
	}
	else if(Key.getCode()==Key.UP){
		start_f(1,true);
		}
	if((Key.getCode()==Key.DOWN) && pres){
		start_f(0,false);
	}
	else if(Key.getCode()==Key.DOWN){
		start_f(0,true);
		}
};
listener.onKeyUp = function() {
	if(Key.getCode()==Key.LEFT || Key.getCode()==Key.RIGHT){
		pres = false;
	}
	switch (Key.getCode()) {
		case Key.UP :
			delete mc.onEnterFrame;//убиваем нах
			break;
		case Key.DOWN :
			delete mc.onEnterFrame;//туда же
			break;
	}
};
// вешаем листнер с обработчиками на клвиатуру
Key.addListener(listener);