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

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

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

Регистрация: Mar 2006
Сообщений: 21
По умолчанию Как разослать событие всем инстанциям одного класса?

Как разослать событие всем инстанциям одного класса?
Или одно событие одна реакция? Может быть цепной механизм?..
Но хочется не цепной, а параллельный.

Это общая формулировка. Частный случай:
Есть меню. Каждый элемент меню - экземпляр класса, обрабатывающего события и рутину. onRollOver меню загорается, и не должно гаснуть, пока не загорится другое меню.
Запоминать, какое меню подсвечивается в данны момент, чтобы его тушить, когда будет гореть другое - не хочу, т.к... не знаю почему, из спортивного интереса.

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

Регистрация: Jun 2005
Адрес: в Питере
Сообщений: 981
AsBroadcaster
__________________
Делай всё быстро, но не торопись!.._/*o|o*\_.

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

Регистрация: Jul 2003
Адрес: Istanbul
Сообщений: 252
Код:
_root.lastClickedBut = null; 
function switchBtn(){ 
_root.lastClickedBut.туши
_root.lastClickedBut = this; 
_root.lastClickedBut.зажигай

} 
  for (awr=1; awr<5; awr++){
   _root["b" + awr].onRelease = switchBtn;
		}
p.s.кто то где то написал этот простенький код
__________________
:: tired to live ::

Старый 19.06.2006, 20:39
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 4  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от Madasan
AsBroadcaster
Или EventDispatcher

Старый 19.06.2006, 20:59
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 5  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
Мне кажеться то что хочет сделать автор, нужно сделать через некий менеджер, который будет получать события и форвардить их тем кому нужно.
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

Старый 19.06.2006, 21:32
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 6  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
да пусть всем инстансам класса и шлет, но с параметром на кого наехали:
Код:
class But extends MovieClip{
	static var broadcaster={};
	public function But(){
		if(!broadcaster._listeners)AsBroadcaster.initialize(broadcaster);
		broadcaster.addListener(this);
		
	}
	function onRollOver(){
		broadcaster.broadcastMessage("changeState",this);
	}
	
	function changeState(but:MovieClip){
		gotoAndStop(but==this?2:1);//если, например, в мувике два кадра
	}
}

Старый 20.06.2006, 13:24
mushi_mushi вне форума Посмотреть профиль Отправить личное сообщение для mushi_mushi Найти все сообщения от mushi_mushi
  № 7  
Ответить с цитированием
mushi_mushi

Регистрация: Mar 2006
Сообщений: 21
Thumbs up greate thnx

Цитата:
Сообщение от Nirth
...нужно сделать через некий менеджер, который будет получать события и форвардить их тем кому нужно.
Да, теперь я именно так себе это и представляю

2silin: Static... не понимал и не использовал. Спасибо)
И вообще!.. Это именно то, что нужно.


Последний раз редактировалось mushi_mushi; 20.06.2006 в 13:26.
Старый 21.06.2006, 02:28
Homo Sapiens вне форума Посмотреть профиль Отправить личное сообщение для Homo Sapiens Посетить домашнюю страницу Homo Sapiens Найти все сообщения от Homo Sapiens
  № 8  
Ответить с цитированием
Homo Sapiens
 
Аватар для Homo Sapiens

Регистрация: Nov 2004
Адрес: Санкт-Петербург
Сообщений: 751
Посмотри здесь
__________________
Всё гениальное просто.

Старый 21.06.2006, 13:24
mushi_mushi вне форума Посмотреть профиль Отправить личное сообщение для mushi_mushi Найти все сообщения от mushi_mushi
  № 9  
Ответить с цитированием
mushi_mushi

Регистрация: Mar 2006
Сообщений: 21
Homo Sapiens, Спасибо - всегда знал, что все велосипеды уже изобрели.
Там - шаблон - реализует тот же принцип, что и код от silin, за исключением, что код от silin работает именно в рамках объектов одного класса (что и требовалось).
А тот шаблон - это реализация типа "клиент-сервер"... я писал о "клиент-сервере" с досадой - т.к. он не совсем правильно реализует то, что я хотел, но кто-то стер это сообщение ;.)


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

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

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


 


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


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