国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 網(wǎng)站 > WEB開(kāi)發(fā) > 正文

1.14.使用自定義事件以及事件數(shù)據(jù)傳遞

2024-04-27 13:51:43
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
1.14.1.問(wèn)題
我想使用自定義事件類發(fā)出事件以及數(shù)據(jù)。
1.14.2.解決辦法
繼承flash.events.Event創(chuàng)建類,創(chuàng)建與事件數(shù)據(jù)相關(guān)的屬性。
1.14.3.討論
有時(shí)候我們希望發(fā)送事件時(shí)也附帶數(shù)據(jù)對(duì)象以便監(jiān)聽(tīng)者不用訪問(wèn)發(fā)出事件的對(duì)象也能訪問(wèn)數(shù)據(jù)。渲染器或深度嵌入對(duì)象通過(guò)發(fā)出事件通過(guò)多個(gè)組件到達(dá)監(jiān)聽(tīng)器并發(fā)送數(shù)據(jù)而不需要監(jiān)聽(tīng)組件去尋找對(duì)象及訪問(wèn)其組件。作為一種解決方案,需要?jiǎng)?chuàng)建一個(gè)事件類型的類,在事件構(gòu)造函數(shù)中添加需要的數(shù)據(jù)類型,記得要調(diào)用Event的super方法以便Event對(duì)象能正確被實(shí)例化,例如:
+展開(kāi)
-ActionScript
package oreilly.cookbook {
import flash.events.Event;
public class CustomPersonEvent extends Event {
public var person:Person;
public var timeChanged:String;
Public function CustomPersonEvent(type:String,bubbles:Boolean=false,
cancelable:Boolean=false,
personValue:Person=null,
timeValue:String=""
)
{
super (type, bubbles, cancelable);
person = personValue;
timeChanged = timeValue;
}
override public function clone():Event {
return new CustomPersonEvent(type, bubbles, cancelable, personValue,timeValue);
}
}
}

在這個(gè)自定義Event類,繼承的Event.clone方法被重寫以便復(fù)制CustomPersonEvent自身。如果事件監(jiān)聽(tīng)器想試圖重新發(fā)出自定義事件,可以這樣寫:
+展開(kāi)
-ActionScript
Private function ustomPersonHandler(event:CustomPersonEvent):void {
dispatchEvent(event);
}

這個(gè)發(fā)出的事件并不是先前收到的那個(gè),而是使用clone方法創(chuàng)建的CustomPersonEvent 一個(gè)復(fù)本,如果clone方法沒(méi)有被重新則會(huì)把CustomPersonEvent的所有屬性都被復(fù)制,那時(shí)clone方法返回的將是flash.events.Event而不會(huì)有CustomPersonEvent的任何屬性。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 阜城县| 盐津县| 陕西省| 呈贡县| 尼木县| 九龙县| 富阳市| 津市市| 布尔津县| 丰城市| 古浪县| 客服| 双城市| 太原市| 陆川县| 安远县| 繁昌县| 涟源市| 正阳县| 廊坊市| 米林县| 诏安县| 古浪县| 阿尔山市| 思茅市| 蒙自县| 普安县| 苗栗市| 铁力市| 普兰店市| 资源县| 南昌县| 尚志市| 张家川| 师宗县| 环江| 阜新市| 灌云县| 古田县| 博爱县| 平陆县|