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

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

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

Регистрация: Dec 2007
Сообщений: 58
Отправить сообщение для RetKiller с помощью ICQ
По умолчанию ItemRenderer,TileList и другие :)

Собственно,я уже задавал тут вопрос про работу с ItemRenderer.Тогда проблема удачно решилась.Теперь возник еще вопрос.
А в принципе возможно после создания объектов ItemRenderer'ом обращаться к ним потом?Поясню на примере:

Код AS3:
<mx:itemRenderer>
	<mx:Component>
		<mx:VBox horizontalAlign="center" verticalAlign="middle">
		<mx:Script>
			<![CDATA[
				import mx.controls.Alert;
			]]>
		</mx:Script>
			<mx:Label text="{data.title}" id="fd"/>
			<mx:Image source="{data.thumbnail}" width="192" height="168" />
			<mx:HBox>
			<mx:Script>
                                     <![CDATA[           
                                       private function action():void
                                       {
                                       	Alert.show("dsfsdf");
                                       }     
                                     ]]>
                                  </mx:Script>
			<mx:LinkButton label="low" id="btLow" click="tr()" />
			<mx:LinkButton label="stop" id="btMedium" />
			</mx:HBox>
		</mx:VBox>
	</mx:Component>
</mx:itemRenderer>
......
 
<iv:ivVideoApplet   id="ivApp" width="100%" height="100%" />
....
Теперь требуется при нажатии на кнопку не просто чего-то писать или выполнять функции верхнего уровня документа,а выполнить что-нибудь типа ivApp.changeQuality("video.video") .

Вопрос:возможно ли это,в принципе? Начинать писать свой TileList или нет

Посмотреть можно здесь: http://video.integra-s.com:35643/ (login:test,pass:test).
При нажатии на кнопки low,high,medium видео в правой части должно меняться.

Спасибо за помощь,а если и не поможете,то все равно спасибо.За прочтение

Старый 20.11.2008, 17:54
†‡Paladin‡† вне форума Посмотреть профиль Отправить личное сообщение для †‡Paladin‡† Найти все сообщения от †‡Paladin‡†
  № 2  
Ответить с цитированием
†‡Paladin‡†

Регистрация: Nov 2005
Сообщений: 1,058
Диспатчите эвент с параметрами. Главная аппликуха пускай слушает и меняется как ей надо.

Старый 21.11.2008, 16:40
RetKiller вне форума Посмотреть профиль Отправить личное сообщение для RetKiller Найти все сообщения от RetKiller
  № 3  
Ответить с цитированием
RetKiller

Регистрация: Dec 2007
Сообщений: 58
Отправить сообщение для RetKiller с помощью ICQ
Написал вот так вот примерно
Код AS3:
......
	public function testEvent():void
	{
 
		this.addEventListener("xxxMyOwnEvent",testEventListener);
		Log2("Listener added!");
	}
	public function testEventListener(evt:Event):void
	{
		Log2("Event!"+evt.toString());
	}
 
.....
<mx:itemRenderer>
	<mx:Component>
		<mx:VBox horizontalAlign="center" verticalAlign="middle">
		<mx:Script>
			<![CDATA[
				import mx.controls.Alert;
			]]>
		</mx:Script>
			<mx:Label text="{data.title}" id="fd"/>
			<mx:Image source="{data.thumbnail}" width="192" height="168" />
			<mx:HBox>
			<mx:Script>
                                     <![CDATA[           
                                       private function action():void
                                       {
                                       var t:Event=new Event("xxxMyOwnEvent");
                                       var r:EventDispatcher=new EventDispatcher(???);
			     if (r.dispatchEvent(t)==true) 			Alert.show("YES");
 
                                       }     
                                     ]]>
                                  </mx:Script>
			<mx:LinkButton label="low" id="btLow" click="tr()" />
			<mx:LinkButton label="stop" id="btMedium" />
			</mx:HBox>
		</mx:VBox>
	</mx:Component>
</mx:itemRenderer>
Понятно,что в параметр конструктора для EventDispatcher надо сунуть объект,который и будет получать эти самые эвенты. Только как его узнать?То есть в данном случае надо получить указатель на главное окно(в терминах не силен ),но как,понять не могу.

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

Регистрация: Jun 2005
Адрес: Москва
Сообщений: 784
Отправить сообщение для Бармалей с помощью ICQ
Диспатчер не знает кто на него подписан. В этом вся прелесть событийной модели. Поэтому просто вызовите метод dispatchEvent в своем рендерере и передайте в него инстанс необходимого события, и еще укажите bubbles = true. А кто-то извне пусть подпишется к листу на это событие.
__________________
Garbage Collector || AIR (Apollo) Docs

Старый 24.11.2008, 10:34
RetKiller вне форума Посмотреть профиль Отправить личное сообщение для RetKiller Найти все сообщения от RetKiller
  № 5  
Ответить с цитированием
RetKiller

Регистрация: Dec 2007
Сообщений: 58
Отправить сообщение для RetKiller с помощью ICQ
Спасибо огромное,всё заработало

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

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

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


 


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


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