Skip to content

Latest commit

 

History

History
52 lines (33 loc) · 1.73 KB

README.rdoc

File metadata and controls

52 lines (33 loc) · 1.73 KB

Description

Sweet prototypes for actionscript that extend core classes with stuff to make your life easier.

In need of documentation and is under quite heavy development.

Usage

Move the prototypes directory over to your .fla directory or add a classpath so your compiler can find it.

Import the namespace before including:

import prototypes.*

Include everything with:

Prototype.includeAll()

Include all functions from a specific prototype by:

MovieClipPrototype.includeAll()

Include a specific function from a specific prototype by:

MovieClipPrototype.include( "isMouseOver" )

The last one remains quite untested at the moment so can’t promise that it works.

Gotchas

To use the extensions on Number directly on a number without using a variable you need to enclose it in parenthesis or the compiler will shoot syntax errors at you.

// Syntax error
trace( 1.day.ago )

// Works just fine!
trace( (1).day.ago )

// Also works
var n = 1
trace( n.day.ago )

Sometimes you might want to use each on a non variableized array. The flash compiler has some truly weird behaviour when it comes to this. Here’s the breakdown.

// Silent failure with adobe compiler, works with MTASC given that you specifically ended the previous line with a ;
['asdf', 'qwer'].each( function(element) { trace(element) } )

// Enclosing the whole thing in parenthesis makes it work on both compilers
(['asdf', 'qwer'].each( function(element) { trace(element) } )) 

// Works with the adobe compiler but not with MTASC
new Array('asdf', 'qwer').each( function(element) { trace(element) } ) 

// Pre assigning the array to a variable always works
var a = ['asdf', 'qwer]
a.each( function(element) { trace(element) } )