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

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

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

Регистрация: Aug 2006
Адрес: Мюнхен
Сообщений: 509
Отправить сообщение для enepx с помощью ICQ Отправить сообщение для enepx с помощью Yahoo Отправить сообщение для enepx с помощью Skype™
Цитата:
Сообщение от CrazyFlasher Посмотреть сообщение
просто передать обычным сеттером, если я правильно понял...только вот зачем? можно использовать обычный dispatchEvent, что придаёт независимость классам.
Когда я говорил "генерять Event", я имел в виду "использовать обычный dispatchEvent".

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

Регистрация: May 2003
Адрес: Tallinn
Сообщений: 3,182
так чё надо сделать-то? вас непонятно...какой конкретный конечный результат должен быть?
__________________
Flash Developer
Папа TDP4 Team Battle

Старый 28.08.2008, 20:50
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 13  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
CrazyFlasher, что Вы пристали как вы подпишитесь на событие первого класса, во втором не имея доступа, к первому?

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

Регистрация: Aug 2006
Адрес: Мюнхен
Сообщений: 509
Отправить сообщение для enepx с помощью ICQ Отправить сообщение для enepx с помощью Yahoo Отправить сообщение для enepx с помощью Skype™
По умолчанию код

я понял задачу так, может и не верно:

Main:
Код:
public class Main extends Sprite 
{
	public function Main() {
		var objectOne:ClassOne = new ClassOne();
		var objectTwo:ClassTwo = new ClassTwo(objectOne);
		
		var sampleEvent:Event = new Event(Event.OPEN);
		objectOne.generateEvent(sampleEvent);
	}
}
ClassOne:
Код:
public class ClassOne extends EventDispatcher
{
	public function generateEvent(event:Event):void {
		dispatchEvent(event);
	}
}

ClassTwo:

Код:
public class ClassTwo 
{
	public function ClassTwo(classOneRef:ClassOne) {
		classOneRef.addEventListener(Event.OPEN, onEventReceive);
	}
	
	private function onEventReceive(event:Event):void {
		trace(event);
	}
}

Старый 28.08.2008, 21:05
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 15  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
enepx, а зачем метод generateEvent?

Старый 28.08.2008, 21:08
Felicast вне форума Посмотреть профиль Отправить личное сообщение для Felicast Найти все сообщения от Felicast
  № 16  
Ответить с цитированием
Felicast
 
Аватар для Felicast

Регистрация: Feb 2008
Адрес: Череповец
Сообщений: 623
Отправить сообщение для Felicast с помощью ICQ
2 enepx: господа _etc и BlooDHounD имеют ввиду что перредавать objectOne вовсе необязательно. так теряется смысл использования рассылки событий: можно просто заместо обработчика использовать обычную функцию.
__________________
я могу стать всем, если только захочу

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

Регистрация: Aug 2006
Адрес: Мюнхен
Сообщений: 509
Отправить сообщение для enepx с помощью ICQ Отправить сообщение для enepx с помощью Yahoo Отправить сообщение для enepx с помощью Skype™
Цитата:
Сообщение от Felicast Посмотреть сообщение
2 enepx: господа _etc и BlooDHounD имеют ввиду что перредавать objectOne вовсе необязательно. так теряется смысл использования рассылки событий: можно просто заместо обработчика использовать обычную функцию.
т.е. что-то типа
Код:
public class Main extends Sprite 
{
	public function Main() {
		var objectOne:ClassOne = new ClassOne();
		var objectTwo:ClassTwo = new ClassTwo();

		objectOne.addEventListener(Event.OPEN, objectTwo.onEventReceive);
	}
}
?


Последний раз редактировалось enepx; 28.08.2008 в 21:38. Причина: мой косяк
Старый 28.08.2008, 21:21
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 18  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
enepx, а давно в addEventListener, первым аргументом идёт Event, а не String?

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

Регистрация: Aug 2006
Адрес: Мюнхен
Сообщений: 509
Отправить сообщение для enepx с помощью ICQ Отправить сообщение для enepx с помощью Yahoo Отправить сообщение для enepx с помощью Skype™
Поправил. спасибо.
Так верно (я про идею) ?

Старый 28.08.2008, 22:11
tyapichu вне форума Посмотреть профиль Отправить личное сообщение для tyapichu Найти все сообщения от tyapichu
  № 20  
Ответить с цитированием
tyapichu
[+1 25.07.08]

Регистрация: Jun 2008
Адрес: Москва
Сообщений: 25
Отправить сообщение для tyapichu с помощью ICQ
в хелпе вроде не рекомендовалось использовать в качестве второго аргумента листенера функции из других классов. и все равно придется написать addChild(objectOne); иначе ивент не будет проходить через main.

Создать новую тему Ответ Часовой пояс 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
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.