funky behaviour, copying straight from documentation in CS3 flash and adding a subclass of Sprite for serialization (really want to use this agnostic of what type of object is being serialized)::
The problem is serialization is failing for extended classes…
package {
import flash.net.registerClassAlias;
import flash.utils.ByteArray;
import flash.display.MovieClip;
import flash.utils.*;
public dynamic class serializeClassError extends MovieClip {
public function serializeClassError() {
registerClassAlias("com.example.eg", ExampleClass);
var eg1:ExampleClass = new ExampleClass();
var ba:ByteArray = new ByteArray();
ba.writeObject(eg1);
ba.position = 0;
var eg2:* = ba.readObject();
trace(eg2 is ExampleClass); //should be true...
}
}
}
import flash.display.Sprite;
class ExampleClass extends Sprite{ //when this Extends Sprite errors are thrown...
public function ExampleClass() {
trace('instance');
}
public function junction() {
trace('junction');
}
}
Errors returned:
TypeError: Error #1034: Type Coercion failed: cannot convert Object@aa11471 to flash.media.SoundTransform.
TypeError: Error #1034: Type Coercion failed: cannot convert Object@aa116a1 to flash.geom.Transform.