The SWFAction class
Introduction
SWFAction.
Class synopsis
Description
The script syntax is based on the C language, but with a lot taken out- the SWF bytecode machine is just too simpleminded to do a lot of things we might like. For instance, we can't implement function calls without a tremendous amount of hackery because the jump bytecode has a hardcoded offset value. No pushing your calling address to the stack and returning- every function would have to know exactly where to return to.
So what's left? The compiler recognises the following tokens:
- break
- for
- continue
- if
- else
- do
- while
There is no typed data; all values in the SWF action machine are stored as strings. The following functions can be used in expressions:
- time()
- Returns the number of milliseconds (?) elapsed since the movie started.
- random(seed)
- Returns a pseudo-random number in the range 0-seed.
- length(expr)
- Returns the length of the given expression.
- int(number)
- Returns the given number rounded down to the nearest integer.
- concat(expr, expr)
- Returns the concatenation of the given expressions.
- ord(expr)
- Returns the ASCII code for the given character
- chr(num)
- Returns the character for the given ASCII code
- substr(string, location, length)
- Returns the substring of length length at location location of the given string string.
Additionally, the following commands may be used:
- duplicateClip(clip, name, depth)
- Duplicate the named movie clip (aka sprite). The new movie clip has name name and is at depth depth.
- removeClip(expr)
- Removes the named movie clip.
- trace(expr)
- Write the given expression to the trace log. Doubtful that the browser plugin does anything with this.
- startDrag(target, lock, [left, top, right, bottom])
- Start dragging the movie clip target. The lock argument indicates whether to lock the mouse (?)- use 0 (FALSE) or 1 (TRUE). Optional parameters define a bounding area for the dragging.
- stopDrag()
- Stop dragging my heart around. And this movie clip, too.
- callFrame(expr)
- Call the named frame as a function.
- getURL(url, target, [method])
- Load the given URL into the named target. The target argument corresponds to HTML document targets (such as "_top" or "_blank"). The optional method argument can be POST or GET if you want to submit variables back to the server.
- loadMovie(url, target)
- Load the given URL into the named target. The target argument can be a frame name (I think), or one of the magical values "_level0" (replaces current movie) or "_level1" (loads new movie on top of current movie).
- nextFrame()
- Go to the next frame.
- prevFrame()
- Go to the last (or, rather, previous) frame.
- play()
- Start playing the movie.
- stop()
- Stop playing the movie.
- toggleQuality()
- Toggle between high and low quality.
- stopSounds()
- Stop playing all sounds.
- gotoFrame(num)
- Go to frame number num. Frame numbers start at 0.
- gotoFrame(name)
- Go to the frame named name. Which does a lot of good, since I haven't added frame labels yet.
- setTarget(expr)
- Sets the context for action. Or so they say- I really have no idea what this does.
Movie clips (all together now- aka sprites) have properties. You can read all of them (or can you?), you can set some of them, and here they are:
- x
- y
- xScale
- yScale
- currentFrame - (read-only)
- totalFrames - (read-only)
- alpha - transparency level
- visible - 1=on, 0=off (?)
- width - (read-only)
- height - (read-only)
- rotation
- target - (read-only) (???)
- framesLoaded - (read-only)
- name
- dropTarget - (read-only) (???)
- url - (read-only) (???)
- highQuality - 1=high, 0=low (?)
- focusRect - (???)
- soundBufTime - (???)
Table of Contents
- SWFAction->__construct — Creates a new SWFAction