日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

flex中dispatchEvent的用法(自定义事件) .

發布時間:2023/12/13 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 flex中dispatchEvent的用法(自定义事件) . 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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:Boolean=false, cancelable:Boolean=false){
?? ?? ?? ?? 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

總結

以上是生活随笔為你收集整理的flex中dispatchEvent的用法(自定义事件) .的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。