/********************************************************************************************************************** * Gaia Flash Framework * Written by: Steven Sacks * email: steven@stevensacks.net * blog: http://www.stevensacks.net/ Distributed under Creative Commons Attribution-ShareAlike 3.0 Unported License http://creativecommons.org/licenses/by-sa/3.0/ THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. **********************************************************************************************************************/ import net.stevensacks.gaia.assets.AbstractAsset; import mx.utils.Delegate; class net.stevensacks.gaia.assets.ClipAsset extends AbstractAsset { public var clip:MovieClip; function ClipAsset() { super(); clip = null; } public function load(target:MovieClip):Void { clip = target; clip.loadMovie(src); loadBegin(); } public function getBytesLoaded():Number { return clip.getBytesLoaded(); } public function getBytesTotal():Number { return clip.getBytesTotal(); } public function destroy():Void { clip.removeMovieClip(); clip = null; super.destroy(); } public function loadComplete():Void { clip._visible = false; clip._x = clip._y = 0; super.loadComplete(); } // EXPOSE MOVIECLIP PROPS/FUNCS FOR DIRECT ACCESS public function get _x():Number { return clip._x; } public function set _x(x:Number):Void { clip._x = x; } public function get _y():Number { return clip._y; } public function set _y(y:Number):Void { clip._y = y; } public function get _width():Number { return clip._width; } public function set _width(w:Number):Void { clip._width = w; } public function get _height():Number { return clip._height; } public function set _height(h:Number):Void { clip._height = h; } public function get _xscale():Number { return clip._xscale; } public function set _xscale(xs:Number):Void { clip._xscale = xs; } public function get _yscale():Number { return clip._yscale; } public function set _yscale(ys:Number):Void { clip._yscale = ys; } public function get _xmouse():Number { return clip._xmouse; } public function get _ymouse():Number { return clip._ymouse; } public function get _alpha():Number { return clip._alpha; } public function set _alpha(a:Number):Void { clip._alpha = a; } public function get _visible():Boolean { return clip._visible; } public function set _visible(v:Boolean):Void { clip._visible = v; } public function get _rotation():Number { return clip._rotation; } public function set _rotation(r:Number):Void { clip._rotation = r; } public function gotoAndPlay(f):Void { clip.gotoAndPlay(f); } public function gotoAndStop(f):Void { clip.gotoAndStop(f); } public function play():Void { clip.play(); } public function stop():Void { clip.stop(); } }