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

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

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

Регистрация: Apr 2009
Сообщений: 409
По умолчанию метод главного класса

Здравствуйте, столкнулся с такой проблемой. Есть главный класс main в котором создаётся класс плеера. У плеера есть метод setSong . Так же в классе main есть класс SongBox , который в свою очередь состоит из классов Song. в классе Song стоит слушатель на клик, при котором должны отправляться параметры в метод setSong. Как грамотно можно разрешить эту ситуацию?

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

Регистрация: Nov 2007
Адрес: Moscow
Сообщений: 566
В слушателе клика нужно диспатчить ивент с нужными данными, а на верху его слушать
__________________
#flasher@irc.trg.ru:6667

Старый 19.04.2011, 12:29
faraday вне форума Посмотреть профиль Отправить личное сообщение для faraday Найти все сообщения от faraday
  № 3  
Ответить с цитированием
faraday
 
Аватар для faraday

Регистрация: Apr 2009
Сообщений: 409
спасибо за оперативный ответ, буду пробовать

Добавлено через 15 минут
Никогда не создавал свои события, пробую вот так, не работает:
main:
SoundBox.addEventListener(Event.PLAY, function test() {trace('wroked'); });
song:
this.addEventListener(MouseEvent.CLICK, function cl(){
EventDispatcher(new Event('PLAY'));
});


Последний раз редактировалось faraday; 19.04.2011 в 12:44.
Старый 19.04.2011, 13:27
2Sun вне форума Посмотреть профиль Отправить личное сообщение для 2Sun Найти все сообщения от 2Sun
  № 4  
Ответить с цитированием
2Sun
[+1 24.05.11]
[+1 09.08.11]
 
Аватар для 2Sun

Регистрация: Mar 2011
Сообщений: 101
Код AS3:
SoundBox.addEventListener('PLAY', function test() {trace('wroked'); });
вот так его слушайте и все получится

Старый 19.04.2011, 13:50
faraday вне форума Посмотреть профиль Отправить личное сообщение для faraday Найти все сообщения от faraday
  № 5  
Ответить с цитированием
faraday
 
Аватар для faraday

Регистрация: Apr 2009
Сообщений: 409
спасибо, но тепреь пишет Ошибка типа Coercion: невозможно преобразовать flash.events::Event@cca4a61 в flash.events.EventDispatcher.

Старый 19.04.2011, 17:01
ChuwY вне форума Посмотреть профиль Отправить личное сообщение для ChuwY Посетить домашнюю страницу ChuwY Найти все сообщения от ChuwY
  № 6  
Ответить с цитированием
ChuwY
 
Аватар для ChuwY

Регистрация: Nov 2009
Адрес: Тула / Москва
Сообщений: 734
Отправить сообщение для ChuwY с помощью ICQ Отправить сообщение для ChuwY с помощью Skype™
song:

Код AS3:
this.addEventListener(MouseEvent.CLICK, clickHandler);
 
private function clickHandler(event : MouseEvent):void{
  this.dispatchEvent(new Event("PLAY"));
}
При этом Song должен наследоваться от эвентдиспетчера или реализовывать интерфейс IEventDispatcher.
И хорошим решением будет создать свой класс событий.
__________________
9 из 10 голосов в моей голове сказали наркотикам "НЕТ"
Мои ачивки: художник-паразит.

Старый 20.04.2011, 00:26
faraday вне форума Посмотреть профиль Отправить личное сообщение для faraday Найти все сообщения от faraday
  № 7  
Ответить с цитированием
faraday
 
Аватар для faraday

Регистрация: Apr 2009
Сообщений: 409
Класс Song наследуются от спрайта, вроде там уже реализован интерфейс. Не работает

Старый 20.04.2011, 00:27
ChuwY вне форума Посмотреть профиль Отправить личное сообщение для ChuwY Посетить домашнюю страницу ChuwY Найти все сообщения от ChuwY
  № 8  
Ответить с цитированием
ChuwY
 
Аватар для ChuwY

Регистрация: Nov 2009
Адрес: Тула / Москва
Сообщений: 734
Отправить сообщение для ChuwY с помощью ICQ Отправить сообщение для ChuwY с помощью Skype™
Кинь все, что есть.
__________________
9 из 10 голосов в моей голове сказали наркотикам "НЕТ"
Мои ачивки: художник-паразит.

Старый 20.04.2011, 00:54
faraday вне форума Посмотреть профиль Отправить личное сообщение для faraday Найти все сообщения от faraday
  № 9  
Ответить с цитированием
faraday
 
Аватар для faraday

Регистрация: Apr 2009
Сообщений: 409
this.addEventListener(MouseEvent.CLICK, function cl(){
this.dispatchEvent(new Event('WORKE'));
При таком коде Событие отправляется, но это событие можно словить только в классе SonBox, в главном классе, при прослушке SongBox пусто.
Идея такая, что есть главный класс в который подключён класс плеера, и класс списка песен. в классе списка песен находятся экземпляры класса песня. и вот при щелке на песню мы должны передавать её свойство(название) в метод плеера.

Старый 20.04.2011, 01:02
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 10  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Перестаньте писать анонимные функции. Для оформления кода есть тег [ as3].
В главном классе припишите addEventListener вашего события не экземпляру главного класса, а экземпляру вашего класса, которое диспатчит событие.
__________________
тут я

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

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

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


 


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


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