ActionScript3

A collection of 4 posts

ActionScript3

终于战胜了 ByteArray 的 AMF 写入读取,总结几个要点。

复制整个ByteArray可以使用newBytes.writeBytes(oldBytes)方法。用readBytes似乎也可以,有时间把它理解清楚了。此外这个方法执行后,两个ByteArray的指针都在EOF处,即BytesAvailable都是0。注意重复利用的时候调整position属性。 要使对象支持AMF序列化,必须使用全局函数registerClassAlias对类进行注册别名的操作。别名唯一即可,一般可采用完整含包路径的类名称。 序列化的类必须__只能__有__无参数的__构造方法。因为Action Script不支持方法重载,而是使用默认参数的方式进行多种参数形式的声明,而设计支持AMF序列化的类其构造函数必须是无参数的,换句话说,即使所有参数都有默认值也不行。 序列化的类必须为public,参与序列化的属性也必须是public,使用其他命名空间均不能参与序列化,即使在作用域内拥有访问权限。 AMF序列化习作:PaintingRecord

ActionScript3

仿 jQuery 的 once 方法,在 ActionScript 中指定一个只触发一次的监听器。

package net.gerhut.eventUtils { import flash.events.EventDispatcher; public class OnceEventDispatcher { public static function add(eventDispatcher:EventDispatcher, type:String, listener:Function, useCapture:Boolean=false, priority:int=0, useWeakReference:Boolean=false):void { var onceListener:OnceListener = new OnceListener(eventDispatcher, type, listener, useCapture); eventDispatcher.addEventListener(type, onceListener.