2010年2月25日 星期四

ActionScript 3.0 Class 程式碼生成器



2010年2月24日 星期三

ActionScript 3.0 Event 程式碼生成器

2010年2月23日 星期二

SequenceCollectionUtil

有順序的集合的操作工具。
有順序的集合(以從0開始的連續整數為索引)
應具有length:uint屬性,
及下述方法:
1.addAt(obj:* , index:int):*
2.removeAt(index:int):*
3.getAt(index:int):*

Aggregation

方便使用聚合的物件。
在建構式中傳入要聚合的物件,
參數越後面的,優先序越高。

AdvancedProxy

這個物件是動態的,可以完全代理另一個物件。
主要功能如下:
1.代理另一個物件的所有屬性(無法區分唯讀、唯寫)和方法。
2.若被代理物件發出這個Proxy有偵聽的事件,一律使用Event.clone轉發。
3.使用$alias產生屬性及方法的別名。
注意事項:
1.for...in迴圈,只會跑這個Proxy上的屬性及方法(含別名),不會有被代理者的。
2.若被代理者的屬性、方法名和Proxy擁有的同名,Proxy的屬性及方法優先。
3.動態加入的屬性方法,不會加到被代理者身上。
4.$super(被代理者)的更換,不會影響Proxy現有的屬性、方法。已加到Proxy上的事件偵聽式也不會消失。

2010年2月21日 星期日

ArrayUtil 方便陣列使用的工具

已將這個類別納入開源專案之中,
https://code.google.com/p/actionscript-3-advanced-object/

內含五個方法

unique(arr:*):Array
消除陣列中的重覆項目。

union(arr1:* , arr2:*):Array
傳回二個陣列間的聯集,會消除重覆的項目。

intersect(arr1:* , arr2:*):Array
傳回二個陣列間的交集,會消除重覆的項目。

isInclude(arr1:* , arr2:*):Boolean
陣列1是否包含了陣列2的所有物件,會消除重覆的項目。

difference(arr1:* , arr2:*):Array
陣列1和陣列2的差(陣列1中有但陣列2中沒有的),會消除重覆的項目。


AdvancedObject (1) 加入EventListener的能力

在AdvanceObject中結合了AdvancedEventDispatcher,
使AdvanceObject具有轉發EventListener的能力。
源碼https://code.google.com/p/actionscript-3-advanced-object/

2010年2月20日 星期六

加強版的EventDispatcher

已將這個類別納入開源專案之中,



加入四個新方法、一個新屬性:

getAllEventListenerType():Array
取得目前所有的事件偵聽式的type列表。

removeAllEventListener():void
移除所有的事件偵聽式。

removeEventListenerByType(type:String):Array
移除指定事件的所有偵聽式。

addEventListenerByArray(listeners:Array):void
加入陣列(用removeEventListenerByType所傳回的陣列)中的所有偵聽式。

eventSource屬性
若傳入的是IEventDispatcher的物件,
則會轉發所有AdvancedEventDispatcher上有偵聽的事件。
(注意,若是自訂的事件,請一定要覆寫clone方法)

2010年2月19日 星期五

追蹤者