![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Feb 2007
Сообщений: 3
|
Доброго времени суток!
Ситуация: 1. Есть флеша, анимация программная и расположена в единственном первом кадре. Есть функция, которая отвечает за остановку/запуск всей анимации. 2. Есть хтмл-ник, в который флеша прописана object'ом embed'ом. В нём есть кнопки с js кодом "id флешки.stop()/play();". Насколько я понимаю функционально они дублирует пункт контекстного меню play и работают только на остановку/запуск основного таймлайна. Вопрос в следующем: Можно ли средствами флеш, не внося изменения в js (физически нет возможности), перехватить событие запуска/воспроизведения, чтобы запуcтить мою функцию. По возможности без повторной обработки скрипта на первом кадре. Заранее спасибо! |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Можно. Хотя бы onEnterFrame-ом. Если текущий кадр изменился, значит началось воспроизведение и нужно выполнить функцию.
|
|
|||||
|
Регистрация: Feb 2007
Сообщений: 3
|
Если код обрабатывать на первом проходе через кадр, а дальше только "слушать" onEnterFrame'ом?
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Ключ. слова: onEnterFrame, _currentframe
Больше вам ничего не нужно знать для того, чтобы определить, играет сейчас мувиклип или же нет. Нужно просто поставить на onEnterFrame проверку и переменную, содержащую номер предыдущего кадра. Если он совпадает с таковым при onEnterFrame, значит воспроизведения не происходит. Если же _currentframe не совпал с предыдущим кадром, значит началось воспроизведение и нужно выполнить какую-нибудь функцию. |
|
|||||
|
Регистрация: Feb 2007
Сообщений: 3
|
Спасибо __etc ! Действительно работает.
Настолько в дебри зарылся, что пропустил такое простое решение. Создал 3 кадра.В первом код. Во втором: function checkCtr() {
if (this._currentframe == i) {
my_fnc("stop");
delete this.onEnterFrame;
} else {
my_fnc("play");
delete this.onEnterFrame;
}
}
this.onEnterFrame = checkCtr;
Последний раз редактировалось lasthope; 07.02.2007 в 17:59. |
![]() |
![]() |
Часовой пояс GMT +4, время: 21:55. |
|
|
« Предыдущая тема | Следующая тема » |
|
|