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

Регистрация: Feb 2012
Сообщений: 205
По умолчанию один интервал для разных функций

Необходим код, который проигрывает анимацию в прямом или обратном порядке в зависимости от позиционирования мыши относительно середины кадра.
Пока хочу написать хотя бы для постоянного интервала в полсекунды, чтобы кадры переключались и вперёд и назад с этим интервалом.
В общем-то всё работает, но висит, когда мышь перемещается по сцене. как это пофиксить?

Код AS3:
import flash.utils.setInterval;
stage.addEventListener(MouseEvent.MOUSE_MOVE,аnimating);
 
function аnimating(e:MouseEvent):void {
	clearInterval(intervalId)
	if(stage.mouseX<stage.width/2){ intervalId= setInterval (goNext,speed);}
	else{intervalId = setInterval(goPrev,speed);}		
	// Update after event to ensure no lag
	e.updateAfterEvent();
}
 
function goNext():void{
	 if (foranim.currentFrame < foranim.totalFrames)
       foranim.gotoAndStop(foranim.currentFrame + 1);
    else
        foranim.gotoAndStop(1);
		trace("going left "+foranim.currentFrame)}
 
function goPrev():void{
	 if (foranim.currentFrame >1)
       foranim.gotoAndStop(foranim.currentFrame - 1);
    else
        foranim.gotoAndStop(foranim.totalFrames);
		trace("going right "+foranim.currentFrame)}
var intervalId:uint	
var speed:int=50;


Последний раз редактировалось Маруська; 04.11.2014 в 13:55.