扩展flash.events.EventDispatcher和叫做dispatchEvent()的方法,你就可以派遣事件。
事件是对象间通讯的重要方式。这也是创建灵活系统所必需的。Flash Player 9有内置的事件派遣机制在flash.events.EventDispatcher类中。所有的派遣事件类有继承至EventDispatcher(NetStream和Sprite等等)。如果要定义一个派遣事件的类,你需要扩展EventDispatcher,就像下列:
package {
import flash.events.EventDispatcher;
public class Example extends EventDispatcher {
}
}
EventDispatcher类有两个公开的方法addEventListener()和removeEventListener(),你可以从任何一些EventDispatcher子类的实例注册事件监听。EventDispactcher也定义了一个受保护的方法dispatchEvent(),你可以从子类中执行它来派遣一个事件。作为一个flash.events.Event 对象或一个事件的子类dispatchEvent( )方法至少需要一个参数。
你可以定义一个常量
声明常量如同声明属性,仅仅用const关键词代替了var。
顾名思义,常量的值不能更改。当你想要一个简单的标识符引用复杂的数据或者想要利用编译定时(complex-time)检测数据的错误时,常量是很有用。Math.PI就是一个常量的例子,它包含一个复杂的数值(pi或者3.1415926)。MouseEvent.MOUSE_UP包含值mouseUp,这是个一允许常量错误检测的例子。当对鼠标弹起事件加入事件监听时,你可以用字符mouseUp。然而,如果偶尔一个打字错误,一个不易察觉的错误,那么你的代码不会预期的执行:
// This is valid code, but because of the typo (mousUp instead of mouseUp) the
// code won't work as expected.
addEventListener("mousUp", onMouseUp);
用一个常量能够帮助你。如果你偶然拼错这个常量,编译器会给出错误:
// This causes a compile error.
addEventListener(MouseEvent.MOUS_UP, onMouseUp);
声明一个常量的语法与声明一个标准属性类似。唯一的不同是不用var关键词而应用const关键词。虽然没有要求,但多数常量要用public和static一起修饰。如果想要常量被public和static修饰,你必须正确使用这些特性。而且,你必须在声明时给常量附值:
static public const EXAMPLE:String = "example";
按惯例,常量的名字都应大写。这样能够容易识别和区分属性中的常量。