Static class for wrapping various Class utilities. For example linking 'extend MovieClip' type
classes to MovieClips thru attachMovie, createEmptyMovieClip or MovieClip Instances on stage.
An initObject param is available in methods: createEmptyMovieClip, attachMovie
and attachClass. _depth is a custom initObject param which will set the clip to this depth
regardless of method but *will not* store _depth as a MovieClip property; use getDepth if needed.
Example Class: class com.sekati.Test extends MovieClip { public function Test(){ trace("Test Class instantiated on: "+this._name); } }
static public function createEmptyMovieClip(classRef:Function, target:MovieClip, instanceName:String, initObject:Object):MovieClip
create a movieclip with linked class (various init options)
classRef | (Function) reference to class to attach |
target | (MovieClip) target scope to create MovieClip |
instanceName | (String) created MovieClip instance name |
initObject | (Object) object of properties to create MovieClip with. Depth will automatically be created if none is specified |
MovieClip
Usage: var mc0:MovieClip = ClassUtils.createEmptyMovieClip (com.sekati.Test, this, "mc0"); var mc0:MovieClip = ClassUtils.createEmptyMovieClip (com.sekati.Test, _root, "mc0", {_depth: 100, _x:25, _y:25}); var mc0:MovieClip = ClassUtils.createEmptyMovieClip (com.sekati.Test, this, "mc0", {_x:25, _y:25});
static public function attachMovie(classRef:Function, target:MovieClip, idName:String, instanceName:String, initObject:Object):MovieClip
attach a MovieClip from library and extend with class (various init options)
classRef | (Function) reference to class to attach |
target | (MovieClip) target scope to create MovieClip |
idName | (String) linkage id for exported MovieClip in library |
instanceName | (String) created MovieClip instance name |
initObject | (Object) object of properties to create MovieClip with. Depth will automatically be created if none is specified |
MovieClip
Usage: var mc1:MovieClip = ClassUtils.attachMovie (com.sekati.Test, _root, "linkedMc", "mc1"); var mc1:MovieClip = ClassUtils.attachMovie (com.sekati.Test, _root, "linkedMc", "mc1", {_x:50, _y:50}); var mc1:MovieClip = ClassUtils.attachMovie (com.sekati.Test, _root, "linkedMc", "mc1", {_depth:200, _x:50, _y:50});
static public function attachDllMovie(dll:String, target:MovieClip, idName:String, instanceName:String, initObject:Object, cb:Function):MovieClip
Attach a movie from a DLL swf's library (loads dll then attaches requested movie). NOTE: you should insert a delay between your callback and methods calls in the shared library as it initializes.
dll | (Function) url of the dll.swf which contains exported assets in its library |
target | (MovieClip) target scope to attachMovie within |
idName | (String) linkage id for exported MovieClip in library |
instanceName | (String) created MovieClip instance name |
initObject | (Object) object of properties to create MovieClip with. Depth will automatically be created if none is specified |
cb | (Function) callback function to fire when dll has been loaded and clip attached |
MovieClip
Usage: var mc0:MovieClip = ClassUtils.attachDllMovie("dll.swf", _root, "myDllExportedItem", "mc0", {_x:50, _y:50, _depth:20}, myCallBackFn);
static public function attachClass(classRef:Function, target:MovieClip, initObject:Object):MovieClip
extend a MovieClip instance (on stage) with class (various init options)
classRef | (Function) reference to class to attach |
target | (MovieClip) target scope to create MovieClip |
initObject | (Object) object of properties to create MovieClip with. Depth will automatically be created if none is specified |
MovieClip
Usage: var mc2:MovieClip = ClassUtils.attachClass (com.sekati.Test, mc2); var mc2:MovieClip = ClassUtils.attachClass (com.sekati.Test, _root.mc2, {_x:75, _y:75}); var mc2:MovieClip = ClassUtils.attachClass (com.sekati.Test, mc2, {_depth:300, _x:75, _y:75});
static public function createInstance(classRef:Function, args:Array):Object
Create and return a new instance of a defined class
classRef | (Function) reference to full class namespace |
args | (Array) array of constructor arguments |
Object - instantiated class object
Usage: var o:Point = ClassUtils.createInstance (com.sekati.geom.Point, [15,50]);
static public function createCleanInstance(classRef:Function):Object
Create and return a new instance of a defined class without invoking its constructor @param classRef (Function) reference to full class namespace @return Object - class object
Usage:
var scr:Scroll = ClassUtils.createCleanInstance(com.sekati.ui.Scroll);
static public function isSubclassOf(subclassRef:Function, superclassRef:Function):Boolean
Check if a subclass is extended by a superclass
subclassRef | (Function) reference to the full subclass namespace |
superclassRef | (Function) reference to the full superclass namespace |
Boolean
Usage:
trace(ClassUtils.isSubclassOf(com.sekati.display.AbstractClip, com.sekati.display.CoreClip)); // returns: true
static public function isImplementationOf(classRef:Function, interfaceRef:Function):Boolean
Check if a class implements an interface
classRef | (Function) reference to the full class namespace |
interfaceRef | (Function) reference to the full interface namespace |
Boolean
Usage:
trace(ClassUtils.isImplementationOf(com.sekati.display.CoreClip, com.sekati.display.ICoreClip)); // returns: true