Как мне создать свои события?
Создание новых событий состоит в том, чтобы наследовать класс Event. Хорошим тоном будет так же будет создание самом классе констант с возможными событиями
Пример:
Код:
package com.onorange.faq {
import flash.events.Event;
public class FAQEvent extends Event{
public static const STARTED:String = "started";
public static const FINISHED:String = "finished";
public function FAQEvent(type:String) {
super(type);
}
public override function toString():String {
return formatToString("FAQEvent");
}
}
}
Как мне рассылать свои события?
Одним из самых быстрых способов рассылки событий являеться наследование от класса EventDispatcher, который содержит в себе методы: addEventListener, dispatchEvent, removeEventListener и тд. Для вещания событий используеться метод dispatchEvent(), в качестве параметра которому даеться экземпляр типа Event ( или дочерний от него ).
Пример(Используеться пример из предыдущего вопроса):
Код:
package com.onorange.faq {
import com.onorange.faq.FAQEvent;
import flash.events.EventDispatcher;
public class DispatchEvent extends EventDispatcher {
public function DispatchEvent () {
}
public function startReading():Void {
dispatchEvent(new FAQEvent(FAQEvent.STARTED));
}
public function finishReading():Void {
dispatchEvent(new FAQEvent(FAQEvent.FINISHED));
}
}
}