The SWFAction class
(PHP 5 < 5.3.0, PECL ming SVN)
简介
SWFAction.
类摘要
说明
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 locationlocation
of the given stringstring
.
Additionally, the following commands may be used:
- duplicateClip(clip, name, depth)
-
Duplicate the named movie
clip
(aka sprite). The new movie clip has namename
and is at depthdepth
. - 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
. Thelock
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 optionalmethod
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