![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Ааааа, ну тогда ладно, пусть берет
![]() Опишите подробней зачем Video нужно брать именно из Main? Суть не ясна. У меня постепенно угасает желание Вам помочь. Больше конкретики.
__________________
blog.diestro.ru |
|
|||||
|
Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
|
ну callback в данном примере - это когда у TMenuItem есть паблик свойство или переменная, например:
А используется она в TMenuItem, когда происходит клик мышем по нему. Т.е в TMenuItem есть обработчик клика мыши примерно такой: private function _onMouseClick( e:MouseEvent (:void { // вызываем callback - onClick if( onClick != null ) onClick(); // делаем все что нужно } .... // это все в каком то методе var myMenuItem:TMenuItem = new TMenuItem(); myMenuItem.onClick = _onMenuItemClick; .... private function _onMenuItemClick():void { trace( 'оппа! Нажали на кнопочку' ); } Но есть достоинство - не плодятся объекты-события. |
|
|||||
|
Регистрация: Jan 2008
Сообщений: 50
|
Я чуть ошибся из класса TMenu мне нужен доступ не к Video , а к объекту NetStream, да бы управлять воспроизведением видео т.е в Main у меня реализован весь функционал для воспроизведения видео файла а из TMenu я пытаюсь управлять воспроизведением этого видео
|
|
|||||
|
Ну по хорошему видео должен управлять кто то один. Очень плохо если по всему приложению будут размазаны комманды управления проигрыванием потока. И чем дальше тем сложнее будет с этим разобраться.
Рекомендую вынести всю работу с видеопотоком в отдельный класс, управляемый снаружи запуском методов play(), stop(), load(url) и т.п. Main будет содержать экземпляр этого класса и только он будет знать о нем. Далее два варианта либо мы говорим MenuItem какого типа это кнопка (а кастомизировать их по любому прийдется для того чтобы отскинить) а оно по клику диспатчит событие баблингом об изменении статуса плеера в соответствии со своим великим предназначением. Либо в Menu подписываемся на событие клика по кнопкам, которые оно содержит и (а меню знает что это за кнопка и для чего она нужна) по получению события клика диспатчим событие которое уже будет информировать слушателя о том как должен измениться статус проигрывателя. Во втором случае баблинг не нужен. Main слушает меню на получение соответствующего события и в зависимости от его типа и управляет видеоплеером. В результате только Main знает обо всех компонентах приложения и Ваши классы могут использоваться в других приложениях. Меню можете с запхнуть в аудиоплеер и они заработают с полтычка, т.к. знают только о том что им нужно для работы. Ваш класс для работы с видео - тоже используйте как захотите. Хоть с сотнями наборов различных кнопок.
__________________
blog.diestro.ru Последний раз редактировалось Diestro; 12.07.2010 в 19:59. |
|
|||||
|
Регистрация: May 2004
Сообщений: 56
|
IMHO однозначно Event. Все остальные способы рано или позно приведут к краху
|
|
|||||
|
Регистрация: Jan 2008
Сообщений: 50
|
Цитата:
Всем спасибо кто отвечал |
![]() |
![]() |
Часовой пояс GMT +4, время: 06:23. |
|
|
« Предыдущая тема | Следующая тема » |
|
|