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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 23.06.2005, 17:29
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 1  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
По умолчанию [AS2] Как мне создать свои события, и что такое mx.events.EventDispatcher

Очень часто при разработке своих собственных классов, бывает нужно создать события, для автоматического оповещения о том или ином процессе.
Одним из оптимальных вариантов для создания событий являеться класс EventDispatcher, у него есть ряд плюсов по сравнению со стандартным AsBroadcasterom, два самых важных:
  1. AsBroadcaster недокументированный класс
  2. EventDispatcher умеет рассылать не все события кучей а по одному
Пример
Код:
import mx.events.EventDispatcher;
class MyMC extends MovieClip { 
        //Создаем методы которые нам передаст EventDispatcher, 
        private var dispatchEvent:Function; //Данный метод будет вещать события
        public var addEventListener,removeEventListener:Function; //Данные два метода будут подписывать и удалять слушатели
        public var onMove:Function; // А это наше будущее событие
        public function MyMC () {
                EventDispatcher.initialize(this); //данный метод класса EventDispatcher передает нам методы для вещания и добавления листенеров
                this.addEventListener('onMove',this); // подписываем себя на событие
        }
        public function move(x:Number,y:Number) {
              _x=x;
              _y=y:
              dispatchEvent({type:'onMove',xp:x,yp:y}); //вещаем событие с двумя параметрами(новые координаты
        }
}
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^


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

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

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


 


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


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