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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 12.07.2010, 13:41
Diestro вне форума Посмотреть профиль Отправить личное сообщение для Diestro Посетить домашнюю страницу Diestro Найти все сообщения от Diestro
  № 11  
Ответить с цитированием
Diestro
 
Аватар для Diestro

Регистрация: Oct 2006
Адрес: Кисловодск
Сообщений: 192
Отправить сообщение для Diestro с помощью ICQ
Ааааа, ну тогда ладно, пусть берет

Опишите подробней зачем Video нужно брать именно из Main? Суть не ясна. У меня постепенно угасает желание Вам помочь. Больше конкретики.
__________________
blog.diestro.ru

Старый 12.07.2010, 14:23
i.o. вне форума Посмотреть профиль Отправить личное сообщение для i.o. Найти все сообщения от i.o.
  № 12  
Ответить с цитированием
i.o.
 
Аватар для i.o.

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
ну callback в данном примере - это когда у TMenuItem есть паблик свойство или переменная, например:
Код AS3:
public var onClick:Function
А используется она в TMenuItem, когда происходит клик мышем по нему. Т.е в TMenuItem есть обработчик клика мыши примерно такой:
Код AS3:
private function _onMouseClick( e:MouseEvent (:void
{
    // вызываем callback - onClick
    if( onClick != null )
        onClick();
 
    // делаем все что нужно
}
А где то уровнем выше, например в TMenu, мы задаем колбэк примерно так:
Код AS3:
.... // это все в каком то методе
var myMenuItem:TMenuItem  = new TMenuItem();
myMenuItem.onClick = _onMenuItemClick;
....
 
 
private function _onMenuItemClick():void
{
    trace( 'оппа! Нажали на кнопочку' );
}
Т.е то же самое, что и событийная модель, только сильно упрощенная - на onClick можно повесить только одну функцию-слушателя.
Но есть достоинство - не плодятся объекты-события.

Старый 12.07.2010, 19:08
prihod вне форума Посмотреть профиль Отправить личное сообщение для prihod Найти все сообщения от prihod
  № 13  
Ответить с цитированием
prihod

Регистрация: Jan 2008
Сообщений: 50
Я чуть ошибся из класса TMenu мне нужен доступ не к Video , а к объекту NetStream, да бы управлять воспроизведением видео т.е в Main у меня реализован весь функционал для воспроизведения видео файла а из TMenu я пытаюсь управлять воспроизведением этого видео

Старый 12.07.2010, 19:56
Diestro вне форума Посмотреть профиль Отправить личное сообщение для Diestro Посетить домашнюю страницу Diestro Найти все сообщения от Diestro
  № 14  
Ответить с цитированием
Diestro
 
Аватар для Diestro

Регистрация: Oct 2006
Адрес: Кисловодск
Сообщений: 192
Отправить сообщение для Diestro с помощью ICQ
Ну по хорошему видео должен управлять кто то один. Очень плохо если по всему приложению будут размазаны комманды управления проигрыванием потока. И чем дальше тем сложнее будет с этим разобраться.
Рекомендую вынести всю работу с видеопотоком в отдельный класс, управляемый снаружи запуском методов play(), stop(), load(url) и т.п. Main будет содержать экземпляр этого класса и только он будет знать о нем.
Далее два варианта либо мы говорим MenuItem какого типа это кнопка (а кастомизировать их по любому прийдется для того чтобы отскинить) а оно по клику диспатчит событие баблингом об изменении статуса плеера в соответствии со своим великим предназначением. Либо в Menu подписываемся на событие клика по кнопкам, которые оно содержит и (а меню знает что это за кнопка и для чего она нужна) по получению события клика диспатчим событие которое уже будет информировать слушателя о том как должен измениться статус проигрывателя. Во втором случае баблинг не нужен.
Main слушает меню на получение соответствующего события и в зависимости от его типа и управляет видеоплеером.
В результате только Main знает обо всех компонентах приложения и Ваши классы могут использоваться в других приложениях. Меню можете с запхнуть в аудиоплеер и они заработают с полтычка, т.к. знают только о том что им нужно для работы. Ваш класс для работы с видео - тоже используйте как захотите. Хоть с сотнями наборов различных кнопок.
__________________
blog.diestro.ru


Последний раз редактировалось Diestro; 12.07.2010 в 19:59.
Старый 12.07.2010, 21:56
Vit025 вне форума Посмотреть профиль Найти все сообщения от Vit025
  № 15  
Ответить с цитированием
Vit025

Регистрация: May 2004
Сообщений: 56
IMHO однозначно Event. Все остальные способы рано или позно приведут к краху

Старый 12.07.2010, 23:22
prihod вне форума Посмотреть профиль Отправить личное сообщение для prihod Найти все сообщения от prihod
  № 16  
Ответить с цитированием
prihod

Регистрация: Jan 2008
Сообщений: 50
Цитата:
в Menu подписываемся на событие клика по кнопкам, которые оно содержит и (а меню знает что это за кнопка и для чего она нужна) по получению события клика диспатчим событие которое уже будет информировать слушателя о том как должен измениться статус проигрывателя.
В принципе я так и начал делать Всем спасибо кто отвечал

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

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

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


 


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


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