SWF::Builder::ActionScript - SWF ActionScript object.
$mc->frame_action(1)->compile( <<AS_END ); function move_mc(dx) { this._x += dx; } AS_END my $mc_i = $mc->place; $mc_i->on('KeyPress', '<Left>')->compile('move_mc(-5)'); $mc_i->on('KeyPress', '<Right>')->compile('move_mc(5)'); $mc_i->on('EnterFrame')->r_rotate(15);
SWF::Builder::ActionScript supports some simple actions and compiling ActionScript compatible with FlashMX.
Methods for movie clip to create a frame action and a clip action. These return an SWF::Builder::ActionSctipt object.
creates a frame action.
creates a clip action. See SWF::Builder::MovieClip for details of the events.
These method add some simple actions to $as and return $as itself.
tells the flash player to go to $frame.
tells the flash player to go to $frame and stop playing.
tells the flash player to play the movie clip.
tells the flash player to stop playing the movie clip.
sets a movie clip property.
moves the movie clip to ($x, $y).
moves the movie clip to (current X + $dx, current Y + $dy).
rotates the movie clip toward $r degree absolutely.
rotates the movie clip to +$dr degree right.
magnifies/reduces the movie clip.
shows the movie clip.
hides the movie clip.
changes the target movie clip for actions in &actionsub. $target is a target path string in slash syntax. &actionsub is called with an ActionScript object whose target is changed. For example,
$mc_i->on('Press')->tellTarget( 'mc_i2', sub { shift->r_rotate(15); });
rotates 'mc_i2' to 15-degree right when $mc_i is clicked.
SWF::Builder::ActionScript has a FlashMX-compatible compiler for complex actions.
compiles $script_text. Options are as follows:
controls optimization. Optimize option strings are as follows:
O_PEEPHOLE peephole optimization. O_CONSTEXP calculate constant expressions. O_CONSTMATH calculate math funcions with constant args and constant properties. O_LEFTONCE evaluate a lefthand side of an assignment expression only once. See ATTENTION. O_REGISTER assign local variables to registers. O_LOCALREG assign local variables to local registers using ActionDefineFunction2 (aka 'Optimize for Flash Player 6r65'). O_6R65 same as 'O_LOCALREG'. O_ALL enable all optimize options.
If you want to reset an optimize option, put a minus sign on the head of the option. All optimize options are joined with space or '|'. Default is 'O_ALL|-O_REGISTER|-O_LOCALREG' (enable all optimize options except O_REGISTER and O_LOCALREG).
ATTENTION: FlashMX ActionScript compiler seems to evaluate a lefthand side of a compound assignment operator twice, while ECMA-262 provides to evaluate it once. For example, FlashMX compiles 'a[i++] += 2' as same as 'a[i++] = a[i++] + 2', which counts up i twice. O_LEFTONCE controls this. If you want the same as FlashMX, give '-O_LEFTONCE'.
tells the compiler how to compile 'trace' action.
ignore all trace action.
evaluate the parameters of a trace action, but don't output anything. This is default.
output the value to another movie via a LocalConnection. You can use 'tracewindow.swf' at scripts directory as output window.
use ActionTrace tag.
sets the warning level.
0: deplicated actions. 1: useless operator in void context. 2: future reserved and other unsupported features.
loads a script and compiles it. See compile method for %options.
Pragmas are not supported.
The compiler evaluates a lefthand side of an assignment expression once by default. See Optimize option.
Slow...
Copyright 2003 Yasuhiro Sasama (ySas), <ysas@nmt.ne.jp>
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install SWF::Builder, copy and paste the appropriate command in to your terminal.
cpanm
cpanm SWF::Builder
CPAN shell
perl -MCPAN -e shell install SWF::Builder
For more information on module installation, please visit the detailed CPAN module installation guide.