Class com.sekati.utils.ClassUtils

Description

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);
 	}
 }
 

Method Index

attachClass(), attachDllMovie(), attachMovie(), createCleanInstance(), createEmptyMovieClip(), createInstance(), isImplementationOf(), isSubclassOf()

Method Detail

createEmptyMovieClip

static public function createEmptyMovieClip(classRef:Function, target:MovieClip, instanceName:String, initObject:Object):MovieClip

create a movieclip with linked class (various init options)

Parameters

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

Return

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});
 

attachMovie

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)

Parameters

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

Return

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});
 

attachDllMovie

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.

Parameters

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

Return

MovieClip

 Usage:
 var mc0:MovieClip = ClassUtils.attachDllMovie("dll.swf", _root, "myDllExportedItem", "mc0", {_x:50, _y:50, _depth:20}, myCallBackFn);
 

attachClass

static public function attachClass(classRef:Function, target:MovieClip, initObject:Object):MovieClip

extend a MovieClip instance (on stage) with class (various init options)

Parameters

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

Return

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});
 

createInstance

static public function createInstance(classRef:Function, args:Array):Object

Create and return a new instance of a defined class

Parameters

classRef(Function) reference to full class namespace
args(Array) array of constructor arguments

Return

Object - instantiated class object

 Usage:
 var o:Point = ClassUtils.createInstance (com.sekati.geom.Point, [15,50]);
 

createCleanInstance

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);
  

isSubclassOf

static public function isSubclassOf(subclassRef:Function, superclassRef:Function):Boolean

Check if a subclass is extended by a superclass

Parameters

subclassRef(Function) reference to the full subclass namespace
superclassRef(Function) reference to the full superclass namespace

Return

Boolean

 Usage:
 	trace(ClassUtils.isSubclassOf(com.sekati.display.AbstractClip, com.sekati.display.CoreClip)); // returns: true
 

isImplementationOf

static public function isImplementationOf(classRef:Function, interfaceRef:Function):Boolean

Check if a class implements an interface

Parameters

classRef(Function) reference to the full class namespace
interfaceRef(Function) reference to the full interface namespace

Return

Boolean

 Usage:
 	trace(ClassUtils.isImplementationOf(com.sekati.display.CoreClip, com.sekati.display.ICoreClip)); // returns: true