|
|
|||||
Регистрация: May 2007
Сообщений: 15
|
Ускорение воспроизведения и TIMER
Есть последовательность кадров (поворот объекта на 360 гр.)
Нужно прокручивать их при наведении курсора мыши на области экрана - то вперед, то назад. Все работает, но почему-то происходит постепенное ускорение воспроизведения. С каждым разом - все быстрее и быстрее. В чем тут может быть проблема? import flash.display.*; import flash.events.*; import flash.utils.*; stop(); var ImgTimer:Timer = new Timer(50,0); ImgTimer.addEventListener(TimerEvent.TIMER, changeImg); ImgTimer.start(); function changeImg(e:Event):void { if ((mouseX>550 && mouseX<583) && (mouseY>400 && mouseY<433)) { nextFrame(); } else if ((mouseX>20 && mouseX<53) && (mouseY>400 && mouseY<433)) { prevFrame(); } } |
|
|||||
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Не потому ли, что каждый раз создается еще один таймер?
__________________
Reality.getBounds(this); |
|
|||||
Регистрация: May 2007
Сообщений: 15
|
Подскажите, как этого избежать, пожалуйста.
ЗЫ сделал проверку, проблема решена, спс. Последний раз редактировалось OO7; 01.05.2012 в 00:33. |
|
|||||
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
В классах надо писать на ActionScript 3.0
В кадрах — хоть и возможно технически, но любой скрипт сложнее stop() и gotoAndPlay() становится труднопредсказуемым из-за того, что "допиливается" автоматически с учетом множества разнообразных и разбросанных по такому проекту факторов, не поддающихся одновременному осмыслению и предсказанию)) Лучше брать контроль в свои руки, писать код в классах и быть уверенным в том, что все под контролем. Насколько возможно))
__________________
Reality.getBounds(this); |
Часовой пояс GMT +4, время: 21:48. |
|
« Предыдущая тема | Следующая тема » |
Теги |
timer , ускорение |
|
|