Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 07.02.2007, 01:44
lasthope вне форума Посмотреть профиль Отправить личное сообщение для lasthope Найти все сообщения от lasthope
  № 1  
Ответить с цитированием
lasthope

Регистрация: Feb 2007
Сообщений: 3
The bomb! Перехват команды Play/Stop из JS. Возможно?

Доброго времени суток!

Ситуация:
1. Есть флеша, анимация программная и расположена в единственном первом кадре. Есть функция, которая отвечает за остановку/запуск всей анимации.

2. Есть хтмл-ник, в который флеша прописана object'ом embed'ом. В нём есть кнопки с js кодом "id флешки.stop()/play();".
Насколько я понимаю функционально они дублирует пункт контекстного меню play и работают только на остановку/запуск основного таймлайна.

Вопрос в следующем:
Можно ли средствами флеш, не внося изменения в js (физически нет возможности), перехватить событие запуска/воспроизведения, чтобы запуcтить мою функцию. По возможности без повторной обработки скрипта на первом кадре.

Заранее спасибо!

Старый 07.02.2007, 01:51
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Можно. Хотя бы onEnterFrame-ом. Если текущий кадр изменился, значит началось воспроизведение и нужно выполнить функцию.

Старый 07.02.2007, 01:56
lasthope вне форума Посмотреть профиль Отправить личное сообщение для lasthope Найти все сообщения от lasthope
  № 3  
Ответить с цитированием
lasthope

Регистрация: Feb 2007
Сообщений: 3
Если код обрабатывать на первом проходе через кадр, а дальше только "слушать" onEnterFrame'ом?

Старый 07.02.2007, 01:57
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 4  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Ключ. слова: onEnterFrame, _currentframe
Больше вам ничего не нужно знать для того, чтобы определить, играет сейчас мувиклип или же нет.

Нужно просто поставить на onEnterFrame проверку и переменную, содержащую номер предыдущего кадра. Если он совпадает с таковым при onEnterFrame, значит воспроизведения не происходит. Если же _currentframe не совпал с предыдущим кадром, значит началось воспроизведение и нужно выполнить какую-нибудь функцию.

Старый 07.02.2007, 02:30
lasthope вне форума Посмотреть профиль Отправить личное сообщение для lasthope Найти все сообщения от lasthope
  № 5  
Ответить с цитированием
lasthope

Регистрация: 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;
В третьем:

Код:
i = this._currentframe;
gotoAndPlay(2);


Последний раз редактировалось lasthope; 07.02.2007 в 17:59.
Создать новую тему Ответ Часовой пояс GMT +4, время: 21:55.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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