ActionScripting Tools

- Better performace of Flash movies,
- Smaller filesize of published swf files,
- Separation of code and artwork, which makes it easier to replace graphic assets and to centralize the scripts,
- Later comprehensibleness and reusability of the code, etc.

can be achieved with OOP (Object Oriented Programming) approach of ActionScript. The following are the tools for OO-ActionScripting.
I'll keep adding more. Comments/bug reports are welcome.

Flash MX

SyncedLocalConnection class is a subclass of LocalConnection class.
Any SyncedLocalConnection object connected to a 'group' can send a method call to every other SyncedLocalConnection object connected to the same group.

"Sequence class" 11/24/2002

A Sequence object achieves a sequence of passed commands.
Chains of commands can be included in the sequence.

"Command class" 11/24/2002

Command class creates Command objects which are storable and executable
at any time.

"XMLNodeEasyAccess" 11/12/2002

This achieves easy access to XML nodes without converting your xml object to a plain object, using XMLNode.prototype.tagID and XMLNode.prototype.__resolve.

Source and a usage example

"EnhancedSound" 10/30/2002

EnhancedSound is a sub class of built-in Sound class, which extends Sound with some extra properties and methods.
The properties and the methods of Sound are available as they are, with this EnhancedSound as well.

"traceProtoChain" 9/18/2002

A debug utility that allows to trace out properties in an object and its each __proto__ in its __proto__ chain respectively.
This is an updated version of 'traceProtoChain' which was included in the source of TK Event Engine. Now this allows to trace out hidden properties using ASSetPropFlags.

"showObjHierarchy" 10/2/2003

A debug utility that allows to trace out properties of any object/function object recursively.
This is an updated version of 'showObjHierarchy' which was included in the source of TK Event Engine. Now this allows to trace out properties of function objects as well as objects, and allows to trace out hidden properties using ASSetPropFlags.

"dynColorTweenMX" 6/6/2002

dynColorTween allows to dynamically tween the color of a movieclip from the current state to the state specified with the passed color tween object. A series of color tweens can be applied with one action by passing multiple color tween objects.
And the whole action can be looped by assigning the function that has called the dynColorTween method to callback.

"dynTween" allows to apply motion tweens totally dynamically to movieclips.
The MX version supports tweakable easing strength.
Stand-alone version only.

The passed series of tweens can be now looped by assigning the function which has called the dynTween method itself to the callback.
callback should now be passed as a full string path to the function.
Also, dynTween no longer uses the caller mc's onEnterFrame, that is, you can apply dynTween to an mc which already has onEnterFrame event method assigned.

There are several reasons to still use TK Event Engine in MX which supports event model, the biggest being its speed.

ActionScript Map 12/1/2002

A map of built-in objects/function objects in ActionScript of Flash MX.

Objects of Remoting and Flash Communication Server added.


A tool that allows to script any motion tween. A series of different tweens can be invoked with one action.
This includes clipEventEngine and buttonEventEngine.
clipEventEngine allows to script onClipEvents without writing anything on the movieclips themselves. Subscribed listener objects, which are pairs of paths to methods and arguments objects, can be invoked by user-defined "events" as well.
buttonEventEngine allows to apply button event methods, as in MX, to movieclips in Flash 5.
A tool that allows to invoke big loops such as a for-loop with more than 20,000 iterations, using TK Event Engine.
A tool that allows to make a custom class or a movieclip/an object inherit from another custom class with one action.

An experiment where everything is written hierarchically on _root or .as files to #include, using TK Event Engine and Inheritance All-Rounder.

One of the custom classes from tkTemplate Library.

Very Useful Links
Also thanks to the ActionScripting innovators such as:

Dave Yang http://www.quantumwave.com/
Robin Debreuil http://www.debreuil.com/
Robert Penner http://www.robertpenner.com/
Ralf Bokelberg http://www.bokelberg.de/actionscript/
Branden J. Hall http://chattyfig.figleaf.com/

Copyright©2000-2003 STUDIO FIRST RAYS. All rights reserved