You are on page 1of 3

Avatar.

as class Avatar extends MovieClip { public static var HAPPY:Number = 0; public static var SAD:Number = 1; public static var IDLE:Number = 2; public static function createAvatar (name:String, target:MovieClip, depth:Number, x:Number, y:Number):Avatar { var av:Avatar = Avatar(target.attachMovie("AvatarSymbol", name, depth)); av.init(x, y); return av; } public function init (x:Number, y:Number):Void { setState(Avatar.HAPPY); this._x = x; this._y = y; } public function setState(newState:Number):Void { switch (newState) { case Avatar.HAPPY: this.gotoAndStop("HAPPY"); break; case Avatar.SAD: this.gotoAndStop("SAD"); break; case Avatar.IDLE: this.gotoAndStop("IDLE"); break; } } } Avatar.fla // Create an Avatar using the direct attachMovie() approach. var av:Avatar = this.attachMovie("AvatarSymbol", "avatar", 0); av.init(); // Create an Avatar using a custom creation method. var av2:Avatar = Avatar.createAvatar("avatar2", this, 1, 100, 100); // A movieclip sub-subclass example.

var rav:Avatar = this.attachMovie("RandomAvatarSymbol", "randAvatar", 2); rav.init(200, 200);

randomavatar.as class RandomAvatar extends Avatar { private var randomInt:Number; public function init (x:Number, y:Number):Void { super.init(x, y); randomInt = setInterval (function (av:RandomAvatar):Void { var r:Number = Math.floor(Math.random() * 3); av.setState(r); }, 500, this); } }

Ser.fla var p:Point=new Point(5,6); trace(p.serialize()); Serializable.as interface Serializable{ function serialize():String; } Serializer.as class Serializer implements Serializable{ private var serializationProps:Array; private var serializationObj:Serializable; private var recordSeperator:String; public function Serializer(){ setSerializationObj(this); } public function setSerializationProps(props:Array):Void{ serializationProps=props; } public function setSerializationObj(obj:Serializable):Void{

serializationObj=obj; } public function setRecordSeperator(rs:String):Void{ recordSeperator=rs; } public function serialize():String{ var s:String=""; for(var i:Number=serializationProps.length;--i>=0;){ s+=serializationProps[i] +"="+String(serializationObj[serializationProps[i]]); if(i>0){ s+=recordSeperator; } } return s; } } Circle.fla _root.lineStyle(3,0,100); _root.moveTo(0,100); _root.curveTo(0,200,100,200); _root.curveTo(200,200,200,100); _root.curveTo(200,0,100,0); _root.curveTo(0,0,0,100);

You might also like