怎样在手机上建设网站,注册免费网站,joomla 2.5:你的网站建设_使用与管理,济宁企业网站建设Evevt和EventDispatcher类在as3的事件机制中是很重要的角色#xff0c;dispatchEvent()是EventDispatcher类的一个事件发送方法#xff0c;它可以发送出Event类或其子类的实例#xff0c;在as3中所有的显示对象都可以发送事件#xff0c;因为as3中所有的显示对象都是EventD…Evevt和EventDispatcher类在as3的事件机制中是很重要的角色dispatchEvent()是EventDispatcher类的一个事件发送方法它可以发送出Event类或其子类的实例在as3中所有的显示对象都可以发送事件因为as3中所有的显示对象都是EventDispatcher子类DisplayObject的实例。 发送事件有三种方式继承EventDispatcher如sprite等显示对象、复合EventDispatcher或其子类、实现IEventDispatcher接口。 个人认为复合EventDispatcher在实际应用中用的比较多没有找到合适例子自己写了一个很简单的仅供参考,为了演示把简单的问题复杂话了首先画一个矩形点击矩形后发送一个事件矩形接收事件后alpha变为0自定义事件package{ import flash.events.Event; public class MyEvent extends Event{ public static const ALPHA:String alpha; public function MyEvent(type:String, bubbles:Booleanfalse, cancelable:Booleanfalse){ super(type, bubbles, cancelable); } }}package{import flash.display.Sprite;public class Sample extends Sprite{ public function Sample(){ this.graphics.beginFill(0xff6600); this.graphics.drawRect(50,50,100,50); this.graphics.endFill(); this.addEventListener(MyEvent.ALPHA,blackHandler); } private function blackHandler(evt:MyEvent){ this.alpha 0; }}}主类package{ import flash.display.Sprite; import flash.events.MouseEvent; public class Main extends Sprite{ private var sample:Sample; public function Main(){ sample new Sample(); //注册事件侦听器 sample.addEventListener(MouseEvent.CLICK,clickHandler); addChild(sample); } private function clickHandler(evt:MouseEvent){ //发送事件 sample.dispatchEvent(new MyEvent(MyEvent.ALPHA)); } }}注在as3中只有事件的发送者才能侦听事件。在Main类中sample实例发送的事件也只有sample注册的侦听器才能侦听在Sample中的this正是指向了sample。这个例子很简单只是为了展示事件的发送接收你还可以扩展自定义的Event类带上你想发送的参数转载于:https://www.cnblogs.com/amylis_chen/p/3848762.html