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

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

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

Регистрация: Feb 2006
Сообщений: 884
Записей в блоге: 2
Отправить сообщение для djyamato с помощью ICQ Отправить сообщение для djyamato с помощью Skype™
По умолчанию видеоплеер,запутался со стэйтами

Здравствуйте
есть у меня вью плеера, это SkinnableContainer со скином
В нем есть несколько динамических skinPart-ов (плэйлист, реклама, убирающаяся полоска кнопок Б большаякнопка плэй-паузавсередине экрана, большая кнопка BusyIndicator в середине экрана итд)

Из за отсутствия опыта работы со стэйтами я прописал их в компоненте и скине следующим образом


Код AS3:
[SkinState(name="normal")] // маленькая полоска ScrubBar
		[SkinState(name="disabled")] 
		[SkinState(name="extended")] // маленькая полоска ScrubBar + всплывающие контролы
		[SkinState(name="normalWithPlaylist")] // маленькая полоска ScrubBar + плэйлист
		[SkinState(name="normalWithBuffering")] // маленькая полоска ScrubBar + BusyIndicator
		[SkinState(name="extendedWithPlaylist")] // маленькая полоска ScrubBar + плэйлист
		[SkinState(name="extendedWithAdvert")] // маленькая полоска ScrubBar + + всплывающие контролы + плэйлист
		[SkinState(name="extendedWithBuffering")] // маленькая полоска ScrubBar +  всплывающие контролы + BusyIndicator
		[SkinState(name="paused")]  // в контролах кнопка плэй со стрелкой
		[SkinState(name="playing")]  // в контролах кнопка плэй со паузой
В скине
[as3]
<s:states>
<s:State name="normal"/>
<s:State name="disabled"/>
<s:State name="extended"/>
<s:State name="normalWithBuffering"/>
<s:State name="normalWithPlaylist"/>
<s:State name="extendedWithPlaylist"/>
<s:State name="extendedWithAdvert"/>
<s:State name="extendedWithBuffering"/>

<s:State name="paused"/>
<s:State name="playing"/>
</s:states>
[as3]

При такой ситуации я не могу назначить стэйт для компонента когда он стоит на паузе (в середине экрана кнопка с треугольником) + показывает рекламу

Или мне нужно абсолюно все стэйты прописать?
типа:
extendedPlyingWithAdvert
extendedBufferingWithAdvert
...

И потом, скажем для перехода из extendedWithAdvert в extendedPlyingWithAdvert мне нужно распарсить строку предидущего стэйта на предмет нахождения "WithAdvert" и поменять стэйт ?

Мне кажется это мраком

Как правильно работать со стэйтами в таких ситуациях ?

Старый 15.08.2011, 17:31
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 2  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
По идее у вас всего три-четыре состояния. Стартовая заставка (если таковая есть) с большой кнопкой "плей", проигрывание, пауза с большой кнопкой "плей" и плейлист (если он полноэкранный), возможно еще busy, если он у вас блокирует плеер.
Цитата:
[SkinState(name="paused")] // в контролах кнопка плэй со стрелкой
[SkinState(name="playing")] // в контролах кнопка плэй со паузой
Это вообще к только к контролам относится. Точнее к кнопке "плей".
__________________
משיח לא בא
משיח גם לא מטלפן

Старый 15.08.2011, 18:11
saprahan вне форума Посмотреть профиль Отправить личное сообщение для saprahan Найти все сообщения от saprahan
  № 3  
Ответить с цитированием
saprahan

Регистрация: Mar 2011
Сообщений: 48
Разделите UI стейты и Playback стейты. Очевидно же

Старый 16.08.2011, 07:30
djyamato вне форума Посмотреть профиль Отправить личное сообщение для djyamato Посетить домашнюю страницу djyamato Найти все сообщения от djyamato
  № 4  
Ответить с цитированием
djyamato
 
Аватар для djyamato

Регистрация: Feb 2006
Сообщений: 884
Записей в блоге: 2
Отправить сообщение для djyamato с помощью ICQ Отправить сообщение для djyamato с помощью Skype™
Цитата:
Сообщение от saprahan Посмотреть сообщение
Разделите UI стейты и Playback стейты. Очевидно же
использовать stateGroup ?


Я, признаться, совсем отошел от такого количества стэйтов в пользу skinPart динамических для компонента
плеера

То есть, бизиИндикатор - динамический skinPart, большая кнопка в середине плеера, тоже
Я пытаюсь сделать это плеер на основе MVC, и когда модель диспатчит событие о начале буфферизации, вьюха компонента плеер, слушает это событие (ModelEvent.BUFFERING) и подключает динамический skinPart в виде busyIndicator-а, большая кнопка ПЛЭЙ в середине - тоже динамич. скинпарт, картинка привью для видео, тоже

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

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

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


 


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


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