topical media & game development

talk show tell print

actionscript-video-com-mosesSupposes-fuse-Fuse.ax

actionscript-video-com-mosesSupposes-fuse-Fuse.ax [swf] flex


  import mx.events.EventDispatcher;
import mx.utils.Delegate;

import com.mosesSupposes.fuse.@fileItem;
import com.mosesSupposes.fuse.@fileKitCommon;

* * The @ax-actionscript-video-com-mosesSupposes-fuse-Fuse Kit [beta1.1z3] * Copyright (c) 2006 Moses Gunesch, MosesSupposes.com * * Distributed under MIT Open Source License, see @ax-actionscript-video-com-mosesSupposes-fuse-Fuse-Kit-License.html (in fuse package directory) * Easing Equations (c) 2003 Robert Penner used by permission, see PennerEasing * Visit http://www.mosessupposes.com/@file * * @ignore * * Event & animation sequencer that extends Array. * <br><br> * @usage * To enable animation sequencing, pass @ax-actionscript-video-com-mosesSupposes-fuse-Fuse to {gray com.mosesSupposes.fuse.ZigoEngine#register} or {gray com.mosesSupposes.fuse.ZigoEngine#simpleSetup}. * <br><br> * Events dispatched: * <ul><li><code>onStart</code></li><li><code>onStop</code></li><li><code>onPause</code></li><li><code>onResume</code></li><li><code>onAdvance</code></code></li><li><code>onComplete</code></li></ul> * <br>Unlike ZigoEngine which uses AsBroadcaster, @ax-actionscript-video-com-mosesSupposes-fuse-Fuse uses the mx EventDispatcher standard. * <pre>var f:@ax-actionscript-video-com-mosesSupposes-fuse-Fuse = new @ax-actionscript-video-com-mosesSupposes-fuse-Fuse(); * f.addEventListener("onComplete", myListenerObj);</pre> * <br> * The @ax-actionscript-video-com-mosesSupposes-fuse-Fuse utility is comprised of: * <ul> * <li>Class & instance default settings</li> * <li>Array methods (see {gray #push})</li> * <li>Play-control methods (see {gray #start})</li> * <li>Simple Syntax static methods (see {gray #open})</li> * <li>A runtime Object Syntax interpreter (see {gray #@ax-actionscript-video-com-mosesSupposes-fuse-Fuse})</li> * <li>Instance management methods (see {gray #getInstance})</li> * </ul> * <br> * @ax-actionscript-video-com-mosesSupposes-fuse-Fuse Object Syntax parameters are documented under the {gray #@ax-actionscript-video-com-mosesSupposes-fuse-Fuse} constructor.<br> * <br> * @ax-actionscript-video-com-mosesSupposes-fuse-Fuse Simple Syntax parameters are documented under @ax-actionscript-video-com-mosesSupposes-fuse-Fuse.{gray #open}. * * @author Moses Gunesch / MosesSupposes.com * @version 2.0

  
class com.mosesSupposes.fuse.@ax-actionscript-video-com-mosesSupposes-fuse-Fuse extends Array
{
        
* @exclude * Unique identifier used by ZigoEngine.register

   
        public static var registryKey:String = 'fuse';
        
        
* Class default: Enables kit version to be retrieved at runtime or when reviewing a decompiled swf.

  
        public static var VERSION:String = @fileKitCommon.VERSION;
        
        
* Class default: Controls how much feedback @ax-actionscript-video-com-mosesSupposes-fuse-Fuse outputs, helpful for debugging. * @usage * <ul> * <li>0 = no traces,</li> * <li>1 = normal errors & warnings</li> * <li>2 = additional @ax-actionscript-video-com-mosesSupposes-fuse-Fuse output</li> * <li>3 = additional @fileItem output</li> * </ul>

  
        public static var OUTPUT_LEVEL:Number = 1;
        
        
* Class default: whether @ax-actionscript-video-com-mosesSupposes-fuse-Fuse instances are automatically destroyed after playing once unless otherwise specified by instance-level {gray #autoClear}. * @usage When a @ax-actionscript-video-com-mosesSupposes-fuse-Fuse is set to auto-remove itself it is best practice to not set a variable reference to that @ax-actionscript-video-com-mosesSupposes-fuse-Fuse, which may cause memory buffering, or to delete the variable when the @ax-actionscript-video-com-mosesSupposes-fuse-Fuse is complete.<br><br> * To override this default on a per-@ax-actionscript-video-com-mosesSupposes-fuse-Fuse basis set the instance's {gray #autoClear} property. *
see: #autoClear */ public static var AUTOCLEAR:Boolean = false; /** * Instance default: Convenience, allows you to name any @ax-actionscript-video-com-mosesSupposes-fuse-Fuse. * @description The @ax-actionscript-video-com-mosesSupposes-fuse-Fuse label is used in output messages, and can be used to reference a @ax-actionscript-video-com-mosesSupposes-fuse-Fuse instance in {gray #getInstance} and Simple Syntax methods {gray #open} and {gray #openGroup}. * @see #id * @see #getInstance * @see #open * @see #openGroup */ public var label:String; /** * Instance default: @ax-actionscript-video-com-mosesSupposes-fuse-Fuse instance is automatically destroyed after playing once. * @usage *
var f:@ax-actionscript-video-com-mosesSupposes-fuse-Fuse = new @ax-actionscript-video-com-mosesSupposes-fuse-Fuse();
	 * f.autoClear = true;
* In this example, the fuse instance f will delete itself after it plays through once, at which time you should also delete the variable f to prevent memory buffering issues. * @see #AUTOCLEAR */ public var autoClear:Boolean = false; /** * Instance default: scope for all functions run from a @ax-actionscript-video-com-mosesSupposes-fuse-Fuse if left unspecified within the action. * @usage *
var f:@ax-actionscript-video-com-mosesSupposes-fuse-Fuse = new @ax-actionscript-video-com-mosesSupposes-fuse-Fuse();
	 * f.scope = this;
	 * f.push({target:menu, 
	 * 	start_alpha:0,
	 * 	x:getMenuX,
	 * 	y:getMenuY, 
	 * 	startfunc:"setupMenu", 
	 * 	updfunc:"onMenuFadeUpdate", 
	 * 	func:"onMenuShown"
	 * });
	 * f.push({ scope:contentArea,
	 * 	func:"drawContent"
	 * });
* In this example, all the functions in the first action, including the runtime-evaluation calls to supposed getMenuX and getMenuY methods will be * auto-scoped to the @ax-actionscript-video-com-mosesSupposes-fuse-Fuse's default scope (this). In the second action, drawContent is specifically scoped to the contentArea object, overriding the default. * It's most useful to set a default scope when there will be many function calls within the sequence, to save you from specifically scoping each action. * @see #@ax-actionscript-video-com-mosesSupposes-fuse-Fuse */ public var scope:Object; /** * Internal id based on instance count. */ private var _nID:Number; /** * Internal sequence play-index. */ private var _nIndex:Number; /** * Internal, can be "stopped", "playing", or "paused". */ private var _sState:String = 'stopped'; /** * Internal list of instance's default animation targets, set using public setter target or addTarget method. */ private var _aDefaultTargs:Array; /** * Internal setInterval id for delays run by @ax-actionscript-video-com-mosesSupposes-fuse-Fuse. (Delays in groups or with tweens are handled by @fileItem.) */ private var _nDelay:Number = -1; /** * Internal storage used for tracking a delay's current time during pause(). */ private var _nTimeCache:Number = -1; /** * Stores a Delegate function used to trap nested @ax-actionscript-video-com-mosesSupposes-fuse-Fuse's onComplete event (stored for later removal during destroy()). */ private var _oDel1:Object; /** * Static list of all @ax-actionscript-video-com-mosesSupposes-fuse-Fuse instances created, publicly accessible via getInstance() and getInstances() and used by remote methods like open(). */ private static var _aInstances:Array = null; /** * Internal storage of Build Mode (Simple Syntax) params curID:Number (often queried to find out if Build Mode is active), prevID:Number, curGroup:Array. */ private static var _oBuildMode:Object = null; /** * Written in during EventDispatcher.initialize(). */ private var dispatchEvent:Function; /** * @ax-actionscript-video-com-mosesSupposes-fuse-Fuse extends Array to enable sequence-building & mangaement using familiar methods like push(). * @param action One or more generic "action" objects or arrays in @ax-actionscript-video-com-mosesSupposes-fuse-Fuse Object Syntax constituting a sequence. * @usage *
	* var f:@ax-actionscript-video-com-mosesSupposes-fuse-Fuse = new @ax-actionscript-video-com-mosesSupposes-fuse-Fuse(
	*  {start_x:'-50', start_xscale:150, start_alpha:0, seconds:.5 },
	*  [ 
	*   { width:500, ease:'easeInExpo', seconds:1 },
	*   { height:300, ease:'easeInOutExpo', delay:.5 }
	*  ]);
	* f.target = box1_mc;
	* f.start();
	* 
	* f.traceItems();
* Outputs: *
-@ax-actionscript-video-com-mosesSupposes-fuse-Fuse#0 traceItems:
	* ----------
	* @ax-actionscript-video-com-mosesSupposes-fuse-Fuse#0>Item#0: StartProps:[_alpha, _xscale, _x] Props:[_x, _xscale, _alpha]
	* @ax-actionscript-video-com-mosesSupposes-fuse-Fuse#0>Item#1: Props:[_height, _width]
	* ----------
*
* @ax-actionscript-video-com-mosesSupposes-fuse-Fuse action objects may be: *
  • Generic objects containing parseable properties
    * { target:clip1, x:10, seconds:2, ease:Strong.easeInOut }
  • *
  • An array of such action objects which creates a simultaneous tween group
    * [ { x:10, seconds:2, ease:Strong.easeInOut }, { start_alpha:0, seconds:.5 } ]
  • *
  • A nested @ax-actionscript-video-com-mosesSupposes-fuse-Fuse
  • *
  • "Applied actions": a special format for reusing actions by including an action property.

    * For example if an action var intro:Object = { ... } has been defined, * you can then include it in later @ax-actionscript-video-com-mosesSupposes-fuse-Fuse actions like this:
    * { target:clip1, action:intro }

    * This lets you build multi-purpose behaviors that can be used with different targets, perhaps a custom fade or movement effect.
    * Applied actions may contain the following properties that modify the base action:
    * delay, target, addTarget, label, trigger.
    * While target overrides, addTarget concatenates targets with any that are defined in the action. See below for info on others.
  • *
*
* @ax-actionscript-video-com-mosesSupposes-fuse-Fuse action-object properties may be: *
  • Parseable properties, listed below
  • *
  • Any custom property you wish to tween (should be pre-declared and set to a number)
  • *
  • Start values: Prepend start_ to any property and it will be set prior to tweening.
*
* @ax-actionscript-video-com-mosesSupposes-fuse-Fuse action-object values may be types: *
  • Number - a tween's end position. x:100
  • *
  • String - calculate tween using relative positioning.
    * Example: rotation:"-90" yields a counter-clockwise rotation.
  • *
  • Boolean values, set at start or end of tween.
    * Example: start_visible:true
  • *
  • Tint values can be Number (0x000000), String ("#000000"), or null (reset)
    * Example: tint:"#FF3300"
  • *
  • Time is specified in seconds, and may be Number or timecode-String format.
    * Examples: seconds:2, startAt:"01:75" - timecode for a 1.75-second delay
  • *
  • Function - (Advanced) "Runtime evaluation" - function is queried as the action is played in the sequence. * Functions should return values appropriate to the property.
    * Example: { x:function(){ return _root._xmouse; } }
    *
    * This is a powerful feature that helps eliminate the need to hardcode values in advance. * @files can be written to be "live", querying for targets and values themselves by retrieving state variables from within your program.
    *
    * Such functions will be scoped first to the action then the @ax-actionscript-video-com-mosesSupposes-fuse-Fuse instance's scope property. * If scope is already being used for callbacks, you can use a Delegate to individually scope runtime-evaluation functions.
  • *
*
* Parseable action properties *

*
  • label String naming the action, that may be used during {gray #skipTo} and viewed in output messages. (This property cannot be set to a function value)
  • *
  • target Animation target or Array of targets. Overrides the instance's default {gray #target} list.
  • *
  • addTarget Concatenates one or an Array of targets with the default {gray #target} list.
  • *
  • ease or easing Accepts same formats as {gray com.mosesSupposes.fuse.ZigoEngine#doTween}'s easing parameter.
  • *
  • seconds, time or duration See time formatting above.
  • *
  • delay or startAt See time formatting above.
  • *
  • event String declaring a custom event that should be dispatched by the engine.
    * Subscribe to this custom event on the @ax-actionscript-video-com-mosesSupposes-fuse-Fuse instance the same as you would for built-in events (see header).
  • *
  • eventparams An object whose properties will be copied to the event object dispatched with the custom event. (Requires that the event property is defined)
  • *
  • func Function or string name of function
  • *
  • scope Object - overrides instance default {gray #scope}. Note that in @ax-actionscript-video-com-mosesSupposes-fuse-Fuse actions this property is special in that it will be applied to all callbacks or runtime-evaluation functions if not otherwise defined.
  • *
  • args One argument or an array of arguments to pass to the func callback.
  • *
  • startfunc Callback fired after any delay and as tween is starting.
  • *
  • startscope If not defined, the scope property or instance default {gray #scope} will be used.
  • *
  • startargs One argument or an array of arguments to pass to the startfunc callback.
  • *
  • updfunc Callback fired on engine pulse as the tweens in the action are updated.
  • *
  • updscope If not defined, the scope property or instance default {gray #scope} will be used.
  • *
  • updargs One argument or an array of arguments to pass to the updfunc callback.
  • *
  • easyfunc String like "myClip.doSomething(true);". ({gray com.mosesSupposes.fuse.Shortcuts} must be registered to use this feature)
  • *
  • extra1 Elastic easing amplitude or Back easing overshoot
  • *
  • extra2 Elastic easing period
  • *
  • _bezier_ (Not necessary, see controlX, controlY below.) Generic object with some or all of the properties {x:,y:,controlX:,controlY:}. Relative (string) values are okay. Note that only one control param is necessary to generate a curved motion path.
  • *
  • controlX, controlY Including one or both of these parameters in a @ax-actionscript-video-com-mosesSupposes-fuse-Fuse along with x and/or y generates a bezier curve similar to using the _bezier_ property but without the need for a nested object.
  • *
  • cycles An integer 2 or higher, tweens back and forth between start and end positions. Infinite cycles (0 or "LOOP" in {gray com.mosesSupposes.fuse.ZigoEngine#doTween}) are not allowed in @files.
  • *
  • skipLevel 0,1, or 2. See {gray com.mosesSupposes.fuse.ZigoEngine#SKIP_LEVEL} for details. In @ax-actionscript-video-com-mosesSupposes-fuse-Fuse, this parameter also applies to the custom event parameter, although standard @ax-actionscript-video-com-mosesSupposes-fuse-Fuse events like onComplete are not skipped.
  • *
  • trigger May be set as seconds (see time formatting above) or set to true if in a group to indicate advance after the item trigger is grouped with.
    * Advances the sequence prior to action completion. This is a powerful feature that makes sequencing far less rigid and more timeline-like.
    * Example 1: In this group the sequence advances after the fade action. * [ { start_alpha:0, seconds:.5, trigger:true}, { x:'100', seconds:3 } ]
    * Example 2: Here the sequence advances after 1.5 seconds, while the action takes 3 seconds. * { width:500, delay:1, seconds:2, trigger:1.5 }

    * Note that the onComplete @ax-actionscript-video-com-mosesSupposes-fuse-Fuse event is not fired until any trailing tweens from triggered actions finish.
  • *
  • command String "start","stop","pause","resume","skipTo","setStartProps".
    * Allows actions to control @ax-actionscript-video-com-mosesSupposes-fuse-Fuse play.
    * Example: a final action of {command:"start"} causes the @ax-actionscript-video-com-mosesSupposes-fuse-Fuse to loop.
    * Commands should be separate actions. They may not appear within action groups or be blocked with tweens or callbacks.
    * Actions containing a command property may ONLY contain the additional properties: scope, args, label, delay.
    * Note that any arguments in args are sent to the @ax-actionscript-video-com-mosesSupposes-fuse-Fuse command, and scope is only used for runtime-evaluation of other params set to function (see "Runtime-evaluation" above).
  • *
*
* Unless you have set @fileItem.ADD_UNDERSCORES to false, the following known properties are underscore-optional: *
    *
  • _alpha or alpha
  • *
  • _rotation or rotation
  • *
  • _x or x
  • *
  • _y or y
  • *
  • _xscale or xscale
  • *
  • _yscale or yscale
  • *
  • _scale or scale Sets _xscale and _yscale to the same value
  • *
  • _width or width
  • *
  • _height or height
  • *
  • _size or size Sets _width and _height to the same value
  • *
  • _frame or frame Tweens a MovieClip's timeline to a frame using easing specified.
  • *
  • _tint or tint Tint formats above or object {tint:Number/null/hexString, percent:Number/String}.
  • *
  • _tintPercent or tintPercent Value range 0-100
  • *
  • _brightness or brightness Value range 0-100
  • *
  • _brightOffset or brightOffset Burn effect. -100=black, 0=normal, 100=white
  • *
  • _invertColor or invertColor Value range 0-100
  • *
  • _colorReset or colorReset Value ranges from 0 (current tint) to 100 (full reset).
  • *
  • _contrast or contrast 0=gray, 100=normal, 200=high-contrast, higher=posterized
  • *
  • _colorTransform or colorTransform Flash7 transform object {ra:,rb:,etc.}
  • *
  • _visible or visible
  • *
* @see #target * @see #scope * @see #push * @see #pushTween * @see #open */ function @ax-actionscript-video-com-mosesSupposes-fuse-Fuse (action:Object) { EventDispatcher.initialize(this); this._nID = registerInstance(this); // @ax-actionscript-video-com-mosesSupposes-fuse-Fuse identifier retrievable using the ID property this._sState = 'stopped'; this._aDefaultTargs = new Array(); if (arguments.length>0) { this.splice.apply(this, ((new Array(0, 0)).concat(arguments))); } // retroactively disable some Array methods - this technique conserves filesize. var unsupport:Array = ['concat','join','sort','sortOn']; for (var i:String in unsupport) @ax-actionscript-video-com-mosesSupposes-fuse-Fuse.prototype[unsupport[i]] = function() { if (@ax-actionscript-video-com-mosesSupposes-fuse-Fuse.OUTPUT_LEVEL>0) @fileKitCommon.error('105'); }; } /** * This function is overwritten during EventDispatcher.initialize(). * @ignore * Add a listener for a particular event * @param event the name of the event ("onComplete", etc) * @param the function or object that should be called * @see #removeEventListener */ public function addEventListener(event:String, handler:Object):Void {} /** * This function is overwritten during EventDispatcher.initialize(). * @ignore * Remove a listener for a particular event * @param event the name of the event ("onComplete", etc) * @param the function or object that should be called * @see #addEventListener */ public function removeEventListener(event:String, handler:Object):Void {} /** * Deletes all variables and properties in the @ax-actionscript-video-com-mosesSupposes-fuse-Fuse instance. * @usage * You should remove all listeners before calling destroy(), then after the call delete any variable references to the instance cleared. *
	* my@ax-actionscript-video-com-mosesSupposes-fuse-Fuse.removeEventListener('onComplete',this);
	* my@ax-actionscript-video-com-mosesSupposes-fuse-Fuse.destroy();
	* delete my@ax-actionscript-video-com-mosesSupposes-fuse-Fuse;
	* 
* @see #autoClear * @see #AUTOCLEAR * @see #getInstance */ public function destroy():Void { if (@ax-actionscript-video-com-mosesSupposes-fuse-Fuse.OUTPUT_LEVEL>1) @fileKitCommon.output('-@ax-actionscript-video-com-mosesSupposes-fuse-Fuse#'+String(_nID)+' destroy.'); this.stop(true); splice(0,length); _aDefaultTargs = null; scope = null; // required for stripping listeners. 0,7 is not a mistake - do not change _global.ASSetPropFlags(this,null,0,7); var id:Number = _nID; for (var i:String in this) delete this[i]; removeInstanceAt(id, true); delete id; delete this; } /** * Deprecated. Returns error from @fileKitCommon. * @deprecated Use new setup options: {gray com.mosesSupposes.fuse.ZigoEngine#register} or {gray com.mosesSupposes.fuse.ZigoEngine#simpleSetup}. */ public static function simpleSetup():Void { @fileKitCommon.error('101'); } /** * Instance-management: Gets a @ax-actionscript-video-com-mosesSupposes-fuse-Fuse instance by its id or label * @description This simple method returns one known @ax-actionscript-video-com-mosesSupposes-fuse-Fuse instance. For more complex options use {gray #getInstances}. * @param idOrLabel @ax-actionscript-video-com-mosesSupposes-fuse-Fuse's numerical {gray #id} or {gray #label} identifying a unique @ax-actionscript-video-com-mosesSupposes-fuse-Fuse instance. * @return a @ax-actionscript-video-com-mosesSupposes-fuse-Fuse instance if found or null if not * @see #getInstances */ public static function getInstance(idOrLabel:Object):@ax-actionscript-video-com-mosesSupposes-fuse-Fuse { if (typeof idOrLabel=='number') return _aInstances[idOrLabel]; if (typeof idOrLabel=='string') { for (var i:String in _aInstances) if (@ax-actionscript-video-com-mosesSupposes-fuse-Fuse(_aInstances[i]).label==idOrLabel) return _aInstances[i]; } return null; } /** * Instance-management: Get an array of some or all @ax-actionscript-video-com-mosesSupposes-fuse-Fuse instances in active memory, with filtering options. * @description *
// get currently playing @files that handle the target my_mc
	* var myMc@files:Array = @ax-actionscript-video-com-mosesSupposes-fuse-Fuse.getInstances("playing",my_mc);
	* // get all the @files in active memory
	* var fuses:Array = @ax-actionscript-video-com-mosesSupposes-fuse-Fuse.getInstances();
* @param stateFilter nothing/null/{gray com.mosesSupposes.fuse.@fileKitCommon#ALL} for all @ax-actionscript-video-com-mosesSupposes-fuse-Fuse instances in active memory, or a play state "playing", "stopped" or "paused" * @param targets optional - a single target, an Array of targets, or a list of targets starting with the second param. * @return an array containing one or more @ax-actionscript-video-com-mosesSupposes-fuse-Fuse instances matching search criteria * @see #getInstance */ public static function getInstances(stateFilter:String, targets:Object):Array { var all:Boolean = (stateFilter==null || (stateFilter.toUpperCase())=='ALL'); if (!(targets instanceof Array)) targets = arguments.slice(1); var a:Array = []; for (var i:String in _aInstances) { var instance:@ax-actionscript-video-com-mosesSupposes-fuse-Fuse = _aInstances[i]; if (_aInstances[i]==null) continue; // if specified state does not match if (all==false && instance.state!=stateFilter) continue; // yes: state matches and no targets to filter by var found:Boolean = (targets.length==0); if (found==false) { // AS2 bug, break does not work twice! if (found==true) continue; var instTargs:Array = instance.getActiveTargets(true); for (var j:String in targets) { for (var k:String in instTargs) { // yes: a target passed in was found in the instance if (instTargs[k]==targets[j]) { found = true; break; } } } } if (found==true) a.unshift(instance); } return a; } /** * Instance default: an auto-assigned numerical reference * @return Internal id based on instance count. * @see #label * @see #getInstance */ public function get id():Number { return _nID; } /** * Retrieves a @ax-actionscript-video-com-mosesSupposes-fuse-Fuse instance's current play-state string. * @return "stopped", "playing", or "paused" * @see #currentIndex */ public function get state():String { return _sState; } /** * Retrieves the current play-index of a @ax-actionscript-video-com-mosesSupposes-fuse-Fuse instance. * @return A number starting at 0 for the first action * @see #state * @see #currentLabel */ public function get currentIndex():Number { return this._nIndex; } /** * Retrieves the currently playing action's label, if defined. * @description
{ label:"introFade", start_alpha:0, start_brightOffset:100, time:1.5, ease:"easeInExpo" }
* @return A string set in the action object using the label property. * @see #@ax-actionscript-video-com-mosesSupposes-fuse-Fuse * @see #label * @see #state * @see #currentIndex */ public function get currentLabel():String { return (@fileItem(this [nIndex]).getLabel()); } /** * see set target * @ignore */ public function get target():Object { return (_aDefaultTargs.length==1) ? _aDefaultTargs[0] : _aDefaultTargs; } /** * Instance default: Sets one or more animation targets that will be used for any actions that don't specify their own. * @description Overwrites prior existing targets. *
var f:@ax-actionscript-video-com-mosesSupposes-fuse-Fuse = new @ax-actionscript-video-com-mosesSupposes-fuse-Fuse();
	* f.target = [clip1, clip2];
* @param one target or an array of targets * @return a single animation target if one is set or an Array of targets if more than one is set. * @see #addTarget * @see #removeTarget * @see #getActiveTargets */ public function set target(t:Object):Void { delete _aDefaultTargs; if (t!=null) { addTarget(t); } } /** * Adds to current default target list. * @description
my@ax-actionscript-video-com-mosesSupposes-fuse-Fuse.addTarget(clip5);
* @param accepts one or more targets, or an array of targets * @see #target * @see #removeTarget * @see #getActiveTargets */ public function addTarget(t:Object):Void { if (_aDefaultTargs==null) this._aDefaultTargs = []; if (arguments[0] instanceof Array) arguments = arguments[0]; for (var i:String in arguments) { var found:Boolean = false; for (var j:String in _aDefaultTargs) { if (arguments[i]==_aDefaultTargs[j]) { found = true; break; } } if (found==false) _aDefaultTargs.push(arguments[i]); } } /** * Removes targets from the current default target list. * @description
my@ax-actionscript-video-com-mosesSupposes-fuse-Fuse.removeTarget(clip5);
* @param accepts one or more targets, or an array of targets * @see #target * @see #addTarget * @see #getActiveTargets */ public function removeTarget(t:Object):Void { if (_aDefaultTargs==null || _aDefaultTargs.length==0) return; if (arguments[0] instanceof Array) arguments = arguments[0]; for (var i:String in arguments) { for (var j:String in _aDefaultTargs) { if (arguments[i]==_aDefaultTargs[j]) _aDefaultTargs.splice(Number(j),1); } } } /** * Gets both the default target list and any targets in the action currently being played. * @param includeDefaults If true is passed, list includes the @ax-actionscript-video-com-mosesSupposes-fuse-Fuse instance's default target list plus active action targets. * @return Array of targets currently being handled by the playing or paused action, plus the @ax-actionscript-video-com-mosesSupposes-fuse-Fuse instance's default target list if true was passed.
*
If the @ax-actionscript-video-com-mosesSupposes-fuse-Fuse instance queried is stopped, an empty array is returned. * @see #target * @see #addTarget * @see #removeTarget */ public function getActiveTargets(includeDefaults:Boolean):Array { if (_sState!='playing' && _sState!='paused') return ([]); var targetList:Array; if (includeDefaults==true) targetList = _aDefaultTargs.slice(); else targetList = []; return ( @fileItem(this [nIndex]).getActiveTargets(targetList) ); } // ---------------------------------------------------------------------------------------------------- // Array-style Methods // ---------------------------------------------------------------------------------------------------- /** * Returns a copy of @ax-actionscript-video-com-mosesSupposes-fuse-Fuse as a new @ax-actionscript-video-com-mosesSupposes-fuse-Fuse instance. * @return new @ax-actionscript-video-com-mosesSupposes-fuse-Fuse instance with default settings and actions. * @see #push * @see #pushTween * @see #pop * @see #unshift * @see #shift * @see #splice * @see #slice * @see #reverse * @see #clone */ public function clone():@ax-actionscript-video-com-mosesSupposes-fuse-Fuse { var initObjs:Array = []; for (var i:Number=0; iItem#'+i+': [Nested @ax-actionscript-video-com-mosesSupposes-fuse-Fuse] '+a[i])+'\n'; }else{ s+= (a[i])+'\n'; } } s+= ('----------'); @fileKitCommon.output(s); } /** * @return a string representation of the fuse including its id, and label if defined. * @see #traceItems * @see #id * @see #label */ public function toString():String { return '@ax-actionscript-video-com-mosesSupposes-fuse-Fuse#'+String(_nID)+((label!=undefined)?(' "'+label+'"'):'')+' (contains '+length+' items)'; } // ---------------------------------------------------------------------------------------------------- // Play-Control Methods // ---------------------------------------------------------------------------------------------------- /** * General: Presets start-properties like start_x in all or specific items. * @description In this example a sequence is set up and all start props are set, although the @ax-actionscript-video-com-mosesSupposes-fuse-Fuse may not be used until later. *
var f:@ax-actionscript-video-com-mosesSupposes-fuse-Fuse = new @ax-actionscript-video-com-mosesSupposes-fuse-Fuse();
	* f.target = clip1;
	* f.push({ start_alpha:0 }); // fade up
	* f.push({ x:'100', start_scale:150}); // scale down and slide
	* f.setStartProps();
* If you want to set start props as the @ax-actionscript-video-com-mosesSupposes-fuse-Fuse is started, you can pass setStartProps parameters to {gray #start}. * @param nothing/null/{gray com.mosesSupposes.fuse.@fileKitCommon#ALL} to set all start props in the @ax-actionscript-video-com-mosesSupposes-fuse-Fuse. * To specify some actions while excluding others, pass an array of item indices/labels or a series of indices/labels as separate parameters. * @see #start */ public function setStartProps(trueOrItemIDs:Object):Void { var all:Boolean = (arguments.length==0 || trueOrItemIDs===true || trueOrItemIDs==@fileKitCommon.ALL); dispatchEvent({target:this, type:'evtSetStart', all:all, filter:(trueOrItemIDs instanceof Array) ? trueOrItemIDs : arguments, curIndex:((state=='playing') ? _nIndex : -1), targs:_aDefaultTargs, scope:scope}); } /** * Play-control: Begins sequence play at index 0, with option to set start props prior to play. * @description In this example all start props are set during start by passing true. *
var f:@ax-actionscript-video-com-mosesSupposes-fuse-Fuse = new @ax-actionscript-video-com-mosesSupposes-fuse-Fuse();
	* f.target = clip1;
	* f.push({ start_alpha:0 }); // fade up
	* f.push({ x:'100', start_scale:150}); // scale down and slide
	* f.start(true);
* @param setStart A {gray #setStartProps} call is generated from all arguments before the @ax-actionscript-video-com-mosesSupposes-fuse-Fuse begins playing. * @see #stop * @see #pause * @see #resume * @see #skipTo */ public function start(setStart:Object):Void { close(); this.stop(true); this._sState = 'playing'; if (length==0) { advance(false,true); // fires onComplete, state must be playing } if (setStart!=null && setStart!=false){ setStartProps.apply(this,arguments); } dispatchEvent({target:this, type:'onStart'}); if (OUTPUT_LEVEL>1) @fileKitCommon.output('-@ax-actionscript-video-com-mosesSupposes-fuse-Fuse#'+String(_nID)+' start.'); playCurrentItem(); } /** * Play-control: Stops a playing or paused @ax-actionscript-video-com-mosesSupposes-fuse-Fuse instance and resets the play-index to 0. * @see #start * @see #pause * @see #resume * @see #skipTo */ public function stop():Void { if(_sState!='stopped') { for (var i:Number=0; i[nIndex]) instanceof @ax-actionscript-video-com-mosesSupposes-fuse-Fuse) { @ax-actionscript-video-com-mosesSupposes-fuse-Fuse(this [nIndex]).removeEventListener('onComplete', _oDel1); } this._sState = 'stopped'; // arg true internal only, don't broadcast stop if stopped. if (!(arguments[0]===true && this._sState=='stopped')) { dispatchEvent({target:this, type:'onStop'}); if (OUTPUT_LEVEL>1) @fileKitCommon.output('-@ax-actionscript-video-com-mosesSupposes-fuse-Fuse#'+String(_nID)+' stop.'); } _nIndex = 0; clearInterval(_nDelay); _nTimeCache = _nDelay = -1; } /** * Play-control: Starts @ax-actionscript-video-com-mosesSupposes-fuse-Fuse at a particular index/label. * @description
var f:@ax-actionscript-video-com-mosesSupposes-fuse-Fuse = new @ax-actionscript-video-com-mosesSupposes-fuse-Fuse();
	* f.target = clip1;
	* f.push({ start_alpha:0 });
	* f.push({ x:'100', label:"slideRight"});
	* //later...
	* f.skipTo("slideRight"); // same as f.skipTo(1);
* @param indexOrLabel numerical item index or label string. Pass a negative index to count back from end, like -1 for last item. * @see #start * @see #stop * @see #pause * @see #resume */ public function skipTo(indexOrLabel:Object):Void { close(); var index:Number; // label if (typeof indexOrLabel=='string') { index = -1; for (var i:Number=0; i0) @fileKitCommon.error('102',String(indexOrLabel)); } } else { index = Number(indexOrLabel); } if (_global.isNaN(index)==true || Math.abs(index)>=length) { // changed this from triggering onComplete to just failing, it's a mistake and should not work. if (OUTPUT_LEVEL>0) @fileKitCommon.error('103',String(indexOrLabel)); } if (index<0) index = Math.max(0, length + index); // hidden second arg passed by @fileItem if (index==_nIndex && arguments[1]===true) { if (OUTPUT_LEVEL>0) @fileKitCommon.error('104',String(indexOrLabel),_nIndex); } if ((this [nIndex]) instanceof @ax-actionscript-video-com-mosesSupposes-fuse-Fuse) { @ax-actionscript-video-com-mosesSupposes-fuse-Fuse(this [nIndex]).removeEventListener('onComplete', _oDel1); } // (Item will be replayed if skipTo called on current item) @fileItem(this [nIndex]).stop(); _nIndex = index; var s:String = _sState; this._sState = 'playing'; // skipTo is being used to start the @ax-actionscript-video-com-mosesSupposes-fuse-Fuse if (s=='stopped') dispatchEvent({target:this, type:'onStart'}); playCurrentItem(); if (OUTPUT_LEVEL>1) @fileKitCommon.output('skipTo:'+index); } /** * Play-control: Pauses a playing @ax-actionscript-video-com-mosesSupposes-fuse-Fuse instance and its running tweens. Waits for {gray #resume} call to proceed. * @see #start * @see #stop * @see #resume * @see #skipTo */ public function pause():Void { if(_sState=='playing'){ @fileItem(this [nIndex]).pause(); if (_nTimeCache!=-1) { // remaining time in delay _nTimeCache -= getTimer(); clearInterval(_nDelay); } this._sState = 'paused'; if (OUTPUT_LEVEL>1) @fileKitCommon.output('-@ax-actionscript-video-com-mosesSupposes-fuse-Fuse#'+String(_nID)+' pause.'); dispatchEvent({target:this, type:'onPause'}); } } /** * Resumes a paused @ax-actionscript-video-com-mosesSupposes-fuse-Fuse instance and its animations. Attempts to correct for animations that have been disrupted during pause. * @see #start * @see #stop * @see #pause * @see #skipTo */ public function resume():Void { if (_sState!='paused') return; // Behavior change from 1.0: only accept resume calls if paused! close(); this._sState = 'playing'; if (OUTPUT_LEVEL>1) @fileKitCommon.output('-@ax-actionscript-video-com-mosesSupposes-fuse-Fuse#'+String(_nID)+' resume.'); dispatchEvent({target:this, type:'onResume'}); if (_nTimeCache!=-1) { clearInterval(_nDelay); this._nTimeCache = getTimer()+_nTimeCache; this._nDelay = setInterval(Delegate.create(this, playCurrentItem), _nTimeCache, true); } // resume @fileItem(this [nIndex]).pause(true); } // ---------------------------------------------------------------------------------------------------- // Private Methods // ---------------------------------------------------------------------------------------------------- /** * Internal handler called by items on completion. * @param wasTriggered is sent true when an item advanced prematurely using the trigger property completes and is used to track the * final completion of a @ax-actionscript-video-com-mosesSupposes-fuse-Fuse in which animations trail beyond the sequence end. * @param silentStop starting a 0-item @ax-actionscript-video-com-mosesSupposes-fuse-Fuse triggers this param so that only the onComplete event gets fired. */ private function advance(wasTriggered:Boolean, silentStop:Boolean):Void { var isLastFinal:Boolean = false; if (_nIndex==length-1) { for (var i:Number=length-1; i>-1; i--) { if (@fileItem(this[i])._nPlaying>-1) { return; // an overlapping item (one containing a trigger) is not finished playing. } } isLastFinal = true; } if (wasTriggered==true && isLastFinal==false) { // wasTriggered calls are sent only for the above check. return; } if ((this [nIndex]) instanceof @ax-actionscript-video-com-mosesSupposes-fuse-Fuse) { @ax-actionscript-video-com-mosesSupposes-fuse-Fuse(this [nIndex]).removeEventListener('onComplete', _oDel1); } if (++_nIndex>=length) { this.stop(silentStop); if (@ax-actionscript-video-com-mosesSupposes-fuse-Fuse.OUTPUT_LEVEL>1) @fileKitCommon.output('-@ax-actionscript-video-com-mosesSupposes-fuse-Fuse#'+String(_nID)+' complete.'); dispatchEvent({target:this, type:'onComplete'}); if (autoClear==true || (autoClear!==false && AUTOCLEAR==true)) destroy(); return; } if (@ax-actionscript-video-com-mosesSupposes-fuse-Fuse.OUTPUT_LEVEL>1) @fileKitCommon.output('-@ax-actionscript-video-com-mosesSupposes-fuse-Fuse#'+String(_nID) + ' advance: '+_nIndex); dispatchEvent({target:this, type:'onAdvance'}); playCurrentItem(); } /** * Internal helper that triggers startItem() in currently active item. * @param postDelay true is sent when a delay has completed. */ private function playCurrentItem(postDelay:Boolean):Void { clearInterval(_nDelay); if (postDelay!==true) { var d:Number = (@fileItem(this [nIndex]).evalDelay(scope) || 0); //if (_nIndex==0 && d==0) d = .01;// super-tiny delay at @ax-actionscript-video-com-mosesSupposes-fuse-Fuse start fixes a number of glitches. if (d>0) { this._nTimeCache = getTimer()+(d*1000);//used during pause. this._nDelay = setInterval(Delegate.create(this, playCurrentItem), d*1000, true); return; } } _nTimeCache = _nDelay = -1; if ((this [nIndex]) instanceof @ax-actionscript-video-com-mosesSupposes-fuse-Fuse) { if (_oDel1==null) _oDel1 = Delegate.create(this,advance); @ax-actionscript-video-com-mosesSupposes-fuse-Fuse(this [nIndex]).addEventListener('onComplete', _oDel1); } var propsTweened:String = (@fileItem(this [nIndex]).startItem(_aDefaultTargs, scope)); if (@ax-actionscript-video-com-mosesSupposes-fuse-Fuse.OUTPUT_LEVEL>1) @fileKitCommon.output('-@ax-actionscript-video-com-mosesSupposes-fuse-Fuse#'+String(_nID)+' props tweened: '+propsTweened); } /** * Internal event used when the fuse is nested in a parent fuse. (Polymorphism - this is a @fileItem method that only appears in @ax-actionscript-video-com-mosesSupposes-fuse-Fuse for the nested instance case). */ private function evtSetStart(o:Object):Void { setStartProps.apply(this, o.filter); } /** * @fileItem method used by a @ax-actionscript-video-com-mosesSupposes-fuse-Fuse only when the it is nested in a parent @ax-actionscript-video-com-mosesSupposes-fuse-Fuse. * @param targs * @param scope */ public function startItem(targs:Array, scope:Object):Void { // adopt scope and targs from parent if none set. This is really rough, // ultimately it ought to be written to cache the original values then restore. if (target==null) target = targs; if (scope==null) scope = scope; this.start(); } /** * Simple Syntax: Generate a new @ax-actionscript-video-com-mosesSupposes-fuse-Fuse and begin intercepting tween calls until {gray com.mosesSupposes.fuse.@ax-actionscript-video-com-mosesSupposes-fuse-Fuse#close} is called. * @description Simple Syntax is an alternative way to construct @ax-actionscript-video-com-mosesSupposes-fuse-Fuse sequences. * Its primary uses are 1. Clear method-call sequencing and 2. An easy way for non-advanced coders to set up sequences. *
	 * // Example 1: Can be used to enforce a clear, strict order of timed events
	 * @ax-actionscript-video-com-mosesSupposes-fuse-Fuse.open();
	 *  @ax-actionscript-video-com-mosesSupposes-fuse-Fuse.addCommand (mainMenu, "draw", menuXML);
	 *  @ax-actionscript-video-com-mosesSupposes-fuse-Fuse.addCommand ("delay", .5);
	 *  @ax-actionscript-video-com-mosesSupposes-fuse-Fuse.addCommand (contentPage, "loadContent", firstItem);
	 *  @ax-actionscript-video-com-mosesSupposes-fuse-Fuse.addCommand (screenDisplay, "exposeLayout");
	 *  @ax-actionscript-video-com-mosesSupposes-fuse-Fuse.addCommand ("delay", 2);
	 *  @ax-actionscript-video-com-mosesSupposes-fuse-Fuse.addCommand (this, "onResize");
	 *  @ax-actionscript-video-com-mosesSupposes-fuse-Fuse.addCommand (Logger, "output", "Setup sequence complete.", 0);
	 * @ax-actionscript-video-com-mosesSupposes-fuse-Fuse.close();
	 * 
	 * // Example 2: Simple Syntax with shortcut tweens
	 * @ax-actionscript-video-com-mosesSupposes-fuse-Fuse.open();
	 *  box_mc.slideTo(150,150, 1);
	 *  @ax-actionscript-video-com-mosesSupposes-fuse-Fuse.openGroup();
	 *   box_mc.scaleTo(250, 1);
	 *   box_mc.brightnessTo(-50, 2);
	 *  @ax-actionscript-video-com-mosesSupposes-fuse-Fuse.closeGroup();
	 *  box_mc.colorTo(0x6633FF, 1);
	 * @ax-actionscript-video-com-mosesSupposes-fuse-Fuse.closeAndStart();
	 * 
*
* You may retrieve the @ax-actionscript-video-com-mosesSupposes-fuse-Fuse instance created, or reopen an existing @ax-actionscript-video-com-mosesSupposes-fuse-Fuse: *
var f:@ax-actionscript-video-com-mosesSupposes-fuse-Fuse = @ax-actionscript-video-com-mosesSupposes-fuse-Fuse.open(); // store a reference to the @ax-actionscript-video-com-mosesSupposes-fuse-Fuse
	 * // later...
	 * @ax-actionscript-video-com-mosesSupposes-fuse-Fuse.open(f); // reopen existing
	 * // or...
	 * @ax-actionscript-video-com-mosesSupposes-fuse-Fuse.open(0); // open @ax-actionscript-video-com-mosesSupposes-fuse-Fuse with id 0
	 * // or...
	 * @ax-actionscript-video-com-mosesSupposes-fuse-Fuse.open("introSequence"); // open @ax-actionscript-video-com-mosesSupposes-fuse-Fuse with the label "introSequence"
*
* If you mostly use simple syntax and don't reuse your @files, it's recommended that you set {gray #AUTOCLEAR} to true to avoid memory buffering. * @param fuseOrID (Optional) Pass an existing @ax-actionscript-video-com-mosesSupposes-fuse-Fuse, or its id or label to reopen it. * @return The opened @ax-actionscript-video-com-mosesSupposes-fuse-Fuse instance that tween calls will be routed to until close() is called. * @see #openGroup * @see #closeGroup * @see #close * @see #closeAndStart * @see #startRecent * @see #addCommand * @see #id * @see #label */ public static function open(fuseOrID:Object):@ax-actionscript-video-com-mosesSupposes-fuse-Fuse // returns @ax-actionscript-video-com-mosesSupposes-fuse-Fuse instance added to until @ax-actionscript-video-com-mosesSupposes-fuse-Fuse.close() is called. { var _ZigoEngine:Function = _global.com.mosesSupposes.fuse.ZigoEngine; if (_ZigoEngine==undefined) { @fileKitCommon.error('106'); return null; } else { (_ZigoEngine).register(@ax-actionscript-video-com-mosesSupposes-fuse-Fuse, @fileItem); } if (_oBuildMode==null) { _oBuildMode = { curID:-1, prevID:-1, curGroup:null }; } else if (_oBuildMode!=null && _oBuildMode.curID>-1) { close(); } if (fuseOrID!=null) { if (fuseOrID instanceof @ax-actionscript-video-com-mosesSupposes-fuse-Fuse) { _oBuildMode.curID = fuseOrID.id; } else if (getInstance(fuseOrID)!=null) { _oBuildMode.curID = getInstance(fuseOrID).id; } else { @fileKitCommon.error('107'); return null; } } else { _oBuildMode.curID = (new @ax-actionscript-video-com-mosesSupposes-fuse-Fuse()).id; } _oBuildMode.prevID = _oBuildMode.curID; return getInstance(_oBuildMode.curID); } /** * Simple Syntax: Begins a new animation group of simultaneous actions. * @description If @ax-actionscript-video-com-mosesSupposes-fuse-Fuse.openGroup() can be called in place of @ax-actionscript-video-com-mosesSupposes-fuse-Fuse.open().

* If @ax-actionscript-video-com-mosesSupposes-fuse-Fuse.openGroup() is called while a previous group was open, the preceding group is closed automatically. *
// use in place of @ax-actionscript-video-com-mosesSupposes-fuse-Fuse.open() to begin a new @ax-actionscript-video-com-mosesSupposes-fuse-Fuse.
	* @ax-actionscript-video-com-mosesSupposes-fuse-Fuse.openGroup();
	*  clip1.tween("_x","100");
	*  clip2.tween("_scale",200);
	* @ax-actionscript-video-com-mosesSupposes-fuse-Fuse.openGroup(); // you can skip closeGroup if opening another group.
	*  clip1.tween("_x","-100");
	*  clip2.tween("_scale",100);
	* @ax-actionscript-video-com-mosesSupposes-fuse-Fuse.closeAndStart(); // you can skip closeGroup here too.
	* 
* @param fuseOrID:@ax-actionscript-video-com-mosesSupposes-fuse-Fuse (Optional) an existing @ax-actionscript-video-com-mosesSupposes-fuse-Fuse or @ax-actionscript-video-com-mosesSupposes-fuse-Fuse's id or label in which to open the new group. * @return The currently open fuse instance or a new @ax-actionscript-video-com-mosesSupposes-fuse-Fuse if openGroup was called prior to open(). * @see #open * @see #closeGroup * @see #close * @see #closeAndStart * @see #startRecent * @see #addCommand * @see #id * @see #label */ public static function openGroup(fuseOrID:Object):@ax-actionscript-video-com-mosesSupposes-fuse-Fuse { // allow openGroup() to open a new sequence. if (!(_oBuildMode!=null && _oBuildMode.curID>-1)) open(fuseOrID); else if (_oBuildMode.curGroup!=null) closeGroup(); _oBuildMode.curGroup = new Array(); return getInstance(_oBuildMode.curID); } /** * Simple Syntax: Closes an action group started by {gray #openGroup}. * @description May be omitted if followed by @ax-actionscript-video-com-mosesSupposes-fuse-Fuse.close or @ax-actionscript-video-com-mosesSupposes-fuse-Fuse.closeAndStart.

* If @ax-actionscript-video-com-mosesSupposes-fuse-Fuse.openGroup() is called while a previous group was open, the preceding group is closed automatically and the closeGroup command can be skipped. *
@ax-actionscript-video-com-mosesSupposes-fuse-Fuse.open();
	* clip1.tween("_x","100");
	* @ax-actionscript-video-com-mosesSupposes-fuse-Fuse.openGroup();
	*  clip1.tween("_x","-100");
	*  clip2.tween("_scale",200);
	* @ax-actionscript-video-com-mosesSupposes-fuse-Fuse.closeGroup();
	* clip1.scaleTo(0);
	* clip2.scaleTo(0);
	* @ax-actionscript-video-com-mosesSupposes-fuse-Fuse.closeAndStart();
* @see #open * @see #openGroup * @see #close * @see #closeAndStart * @see #startRecent * @see #addCommand */ public static function closeGroup():Void { if (_oBuildMode.curGroup==null || !(_oBuildMode!=null && _oBuildMode.curID>-1)) return; getInstance(_oBuildMode.curID).push(_oBuildMode.curGroup); _oBuildMode.curGroup = null; } /** * Simple Syntax: Completes the @ax-actionscript-video-com-mosesSupposes-fuse-Fuse generated by {gray com.mosesSupposes.fuse.@ax-actionscript-video-com-mosesSupposes-fuse-Fuse#open}. * @description It is important that you complete each @ax-actionscript-video-com-mosesSupposes-fuse-Fuse created using @ax-actionscript-video-com-mosesSupposes-fuse-Fuse.open() using either @ax-actionscript-video-com-mosesSupposes-fuse-Fuse.close() or @ax-actionscript-video-com-mosesSupposes-fuse-Fuse.closeAndStart(). You cannot call start on a @ax-actionscript-video-com-mosesSupposes-fuse-Fuse instance while @ax-actionscript-video-com-mosesSupposes-fuse-Fuse is open. *
var runSetup:@ax-actionscript-video-com-mosesSupposes-fuse-Fuse = @ax-actionscript-video-com-mosesSupposes-fuse-Fuse.open();
	* @ax-actionscript-video-com-mosesSupposes-fuse-Fuse.addCommand(this, "callbackOne");
	* @ax-actionscript-video-com-mosesSupposes-fuse-Fuse.addCommand("delay", .25);
	* @ax-actionscript-video-com-mosesSupposes-fuse-Fuse.addCommand(this, "callbackTwo");
	* @ax-actionscript-video-com-mosesSupposes-fuse-Fuse.addCommand("delay", .25);
	* @ax-actionscript-video-com-mosesSupposes-fuse-Fuse.addCommand(this, "callbackThree");
	* @ax-actionscript-video-com-mosesSupposes-fuse-Fuse.close();
	* 
	* // later in program...
	* runSetup.start(); // reference the @ax-actionscript-video-com-mosesSupposes-fuse-Fuse created
	* 
* @see #open * @see #openGroup * @see #closeGroup * @see #closeAndStart * @see #startRecent * @see #addCommand */ public static function close():Void { if (!(_oBuildMode!=null && _oBuildMode.curID>-1)) return; if (_oBuildMode.curGroup!=null) closeGroup(); _oBuildMode.curID = -1; } /** * Simple Syntax: Close the open @ax-actionscript-video-com-mosesSupposes-fuse-Fuse instance and start it playing. * @description
var runSetup:@ax-actionscript-video-com-mosesSupposes-fuse-Fuse = @ax-actionscript-video-com-mosesSupposes-fuse-Fuse.open();
	* clip1.fadeOut();
	* clip2.fadeOut();
	* clip3.fadeOut();
	* @ax-actionscript-video-com-mosesSupposes-fuse-Fuse.closeAndStart();
* @param setStart A {gray #setStartProps} call is generated from all arguments before the @ax-actionscript-video-com-mosesSupposes-fuse-Fuse begins playing. * @see #open * @see #openGroup * @see #closeGroup * @see #close * @see #startRecent * @see #addCommand */ public static function closeAndStart(setStart:Object):Void { if (!(_oBuildMode!=null && _oBuildMode.curID>-1)) return; var f:@ax-actionscript-video-com-mosesSupposes-fuse-Fuse = getInstance(_oBuildMode.curID); close(); f.start.apply(f, arguments); } /** * Simple Syntax: Restarts the @ax-actionscript-video-com-mosesSupposes-fuse-Fuse most recently created using @ax-actionscript-video-com-mosesSupposes-fuse-Fuse.{gray #open}(). * @param setStart A {gray #setStartProps} call is generated from all arguments before the @ax-actionscript-video-com-mosesSupposes-fuse-Fuse begins playing. * @see #open * @see #openGroup * @see #closeGroup * @see #close * @see #closeAndStart * @see #addCommand */ public static function startRecent(setStart:Object):Void { var f:@ax-actionscript-video-com-mosesSupposes-fuse-Fuse = getInstance(_oBuildMode.prevID); if (f!=null) f.start.apply(f, arguments); else @fileKitCommon.error('108'); } /** * Simple Syntax: Multi-purpose method to add an inline @ax-actionscript-video-com-mosesSupposes-fuse-Fuse command, delay, or function-call to the open @ax-actionscript-video-com-mosesSupposes-fuse-Fuse. * @description
var f:@ax-actionscript-video-com-mosesSupposes-fuse-Fuse = new @ax-actionscript-video-com-mosesSupposes-fuse-Fuse();
	* 
	* // callback: scope, func, args
	* @ax-actionscript-video-com-mosesSupposes-fuse-Fuse.addCommand(this, "setItemData", 0, "Submit", true);
	* 
	* // delay
	* @ax-actionscript-video-com-mosesSupposes-fuse-Fuse.addCommand("delay", .5);
	* 
	* // inline @ax-actionscript-video-com-mosesSupposes-fuse-Fuse play-command: forces @ax-actionscript-video-com-mosesSupposes-fuse-Fuse to loop by restarting
	* @ax-actionscript-video-com-mosesSupposes-fuse-Fuse.addCommand("start");
	* 
	* @ax-actionscript-video-com-mosesSupposes-fuse-Fuse.closeAndStart();
	* 
* @param commandOrScope may be: 'delay','start','stop','pause','resume','skipTo','setStartProps' or in the case of a function-call a scope such as this. * @param indexOrFunc 'delay':number of seconds. 'skipTo':destination index/label. For function-call, a string of the function name such as 'trace' * @param argument for function-call, any number of arguments can follow and will be passed to the function when it's called. * @see #open * @see #openGroup * @see #closeGroup * @see #close * @see #closeAndStart * @see #startRecent */ public static function addCommand(commandOrScope:Object, indexOrFunc:Object, argument:Object):Void { if (!(_oBuildMode!=null && _oBuildMode.curID>-1)) return; var into:Array = (_oBuildMode.curGroup!=null) ? _oBuildMode.curGroup : getInstance(_oBuildMode.curID); // New feature: allow addCommand within groups if (typeof commandOrScope=='string') { // assume it's a command if (_oBuildMode.curGroup!=null && commandOrScope!='delay') { @fileKitCommon.error('109',String(commandOrScope)); return; } var validCommands:String = '|delay|start|stop|pause|resume|skipTo|setStartProps|'; // "delay" command is specific to simple syntax if (validCommands.indexOf('|'+commandOrScope+'|')==-1 || ((commandOrScope=='skipTo' || commandOrScope=='delay') && indexOrFunc==undefined)) { if (OUTPUT_LEVEL>0) @fileKitCommon.error('110',String(commandOrScope)); } else { into.push({__buildMode:true, command:commandOrScope, commandargs:indexOrFunc}); } } else { // assume it's a function-call into.push({__buildMode:true, scope:commandOrScope, func:indexOrFunc, args:arguments.slice(2)}); } } // -- internal -- /** * @exclude * Internal use only. This is the method ZigoEngine uses to route tween calls into an open @ax-actionscript-video-com-mosesSupposes-fuse-Fuse instance after @ax-actionscript-video-com-mosesSupposes-fuse-Fuse.open(). * @return true if @ax-actionscript-video-com-mosesSupposes-fuse-Fuse is in build-mode */ public static function addBuildItem(args:Array):Boolean { if (!(_oBuildMode!=null && _oBuildMode.curID>-1)) return false; var into:Array = (_oBuildMode.curGroup!=null) ? _oBuildMode.curGroup : getInstance(_oBuildMode.curID); if (args.length==1 && typeof args[0]=='object') { // Object syntax can be mixed with simple syntax by using @ax-actionscript-video-com-mosesSupposes-fuse-Fuse.open(); with commands like my_mc.tween({x:'100'}); into.push(args[0]); } else { into.push({__buildMode:true, tweenargs:args}); } return true; } /** * Internal, used to add a @ax-actionscript-video-com-mosesSupposes-fuse-Fuse instance to the _aInstances array. * @param @ax-actionscript-video-com-mosesSupposes-fuse-Fuse instance * @return internal index used as @ax-actionscript-video-com-mosesSupposes-fuse-Fuse's id */ private static function registerInstance(s:@ax-actionscript-video-com-mosesSupposes-fuse-Fuse):Number { if(_aInstances==null) _aInstances = new Array(); return _aInstances.push(s)-1; } /** * Interal, used to remove a @ax-actionscript-video-com-mosesSupposes-fuse-Fuse instance from the _aInstances array. * @param id * @param isDestroyCall */ private static function removeInstanceAt(id:Number, isDestroyCall:Boolean):Void { if (isDestroyCall!=true) { @ax-actionscript-video-com-mosesSupposes-fuse-Fuse(_aInstances[id]).destroy(); } delete _aInstances[id]; }}

(C) Æliens 27/08/2009

You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author.
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript"> </script> <script type="text/javascript"> _uacct = "UA-2780434-1"; urchinTracker(); </script>