Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   непонятное поведение обработчиков OnRollOut и OnRollOver (http://www.flasher.ru/forum/showthread.php?t=106967)

Gaara 22.01.2008 23:54

непонятное поведение обработчиков OnRollOut и OnRollOver
 
Вложений: 1
Здравствуйте..

я только начинаю изучать Action Script.. делаю кнопку в которой при входе и выходе из активной зоны проигрываются разные части ролика.. к примеру у меня есть видеоклип, длиной в 10 кадров. первые пять кадров это анимация при выходе из активной зоны, вторые пять кадров - при входе.. на 1-м и 5 кадре стоит stop(), для того чтоб на этом состоянии кнопки остановилось дальнейшее воспроизведение.. далее, в обработчике OnRollOver идет переход во второй кадр, с которого продолжается воспроизведение ролика вплоть до 5-го кадра (воспроизведение ролика при входе в активную область), а в обработчике OnRollOut - переход на 6-й кадр для воспроизведения ролика до 10-го (и тут же по кругу до 1-го, на котором и остановится воспроизведение) для отображения ухода с активной области..

собственно сама проблема.. если интервал между входом и выходом курсора в активной области больше чем длительность воспроизведения одной из частей, то все ок.. но если меньше, начинаются глюки.. прикрепляю к теме меню с двумя такими кнопками, я могу неясно обьясняться, может будет проще увидеть, чем читать мои обьяснения..

CorC 23.01.2008 10:00

Нужно отслеживать номер кадра выхода _currentframe и начинать воспроиведение с _totalframes - _currentframe

Gaara 23.01.2008 12:40

ничего не понял..

ну отслеживать это понятно, с помощью _currentframe определю к примеру что в этот момент предыдущий ролик еще не доигрался.. но а как принудительно заставить воспроизведение с другого кадра?

Aisaid 23.01.2008 13:01

Код:

main_btn.onRollOver = function() {this.gotoAndPlay(2);}
main_btn.onRollOut = function() {this.gotoAndPlay(7);}
course_btn.onRollOver = function() {this.gotoAndPlay(2);}
course_btn.onRollOut = function() {this.gotoAndPlay(7);}

...и в последних кадрах анимации убери "СТОП"

Gaara 23.01.2008 13:12

ой.. точно. спасиб.. это я неправильно с 6-м кадром определил.. думал что у меня стартовый 5-й..

а вот только зачем стопы убирать? без них неправильно работает..


Часовой пояс GMT +4, время: 12:06.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.