|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.flagstone.transform.FSTransformObject
com.flagstone.transform.FSActionObject
com.flagstone.transform.FSRegisterCopy
public class FSRegisterCopy
FSRegisterCopy is used to copy the item at the top of the stack to one of the Flash Player's internal registers.
The value is not removed from the stack. The number of registers supported was expanded in Flash 7 to 256.
The Flash Player uses a stack to store values when executing the actions associated with a button being pushed, frame being played, etc. If a value is used repeatedly in a calculation, it must be pushed onto the stack each time using an FSPush action. To speed up the execution of the calculation and reduce the amount of code required the value can be saved to one of the internal registers of the Flash Player using the FSRegisterCopy action. This copies the value currently at the top of the stack into the specified register. Pushing an FSRegisterIndex object onto the stack creates a reference to the register so the Flash Player uses the value directly rather than pushing the value onto the stack then immediately popping to use the value in a calculation.
To copy a value from the top of the stack to a register, specify the number of the register, 0..255, in the constructor:
// Copy a useful value into one of the Flash Player's registers actions.add(new FSPush(3.1415296)); actions.add(new FSRegisterCopy(0)); // Use a FSRegisterIndex to look it up later actions.add(new FSPush(FSRegisterIndex(0)));
The FSRegisterCopy action represents the ActionStoreRegister action in the Macromedia Flash (SWF) File Format Specification. It was introduced in Flash 5 and expanded in Flash 7 to support up to 256 registers.
Field Summary |
---|
Fields inherited from class com.flagstone.transform.FSActionObject |
---|
Call, ExceptionHandler, GetUrl, GetUrl2, GotoFrame, GotoFrame2, GotoLabel, If, Jump, length, NewFunction, NewFunction2, Push, RegisterCopy, SetTarget, Table, type, WaitForFrame, WaitForFrame2, With |
Constructor Summary | |
---|---|
FSRegisterCopy(FSCoder coder)
Construct an FSRegisterCopy object, initialising it with values decoded from an encoded object. |
|
FSRegisterCopy(FSRegisterCopy obj)
Constructs an FSRegisterCopy object by copying values from an existing object. |
|
FSRegisterCopy(int anIndex)
Constructs an FSRegisterCopy object with the register number. |
Method Summary | |
---|---|
void |
appendDescription(java.lang.StringBuffer buffer,
int depth)
AppendDescription is used to present a string description of the object including all nested objects up to a specified depth. |
void |
decode(FSCoder coder)
|
void |
encode(FSCoder coder)
|
boolean |
equals(java.lang.Object anObject)
Returns true if anObject is equal to this one. |
int |
getRegisterNumber()
Gets the number of the Player register that the value on the stack will be copied to. |
int |
length(FSCoder coder)
|
void |
setRegisterNumber(int anIndex)
Gets the number of the Player register that the value on the stack will be copied to. |
Methods inherited from class com.flagstone.transform.FSActionObject |
---|
getType, length |
Methods inherited from class com.flagstone.transform.FSTransformObject |
---|
clone, name, toString |
Methods inherited from class java.lang.Object |
---|
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public FSRegisterCopy(FSCoder coder)
coder
- an FSCoder containing the binary data.public FSRegisterCopy(int anIndex)
anIndex
- the number of one of the Flash Player's internal registers.public FSRegisterCopy(FSRegisterCopy obj)
obj
- an FSRegisterCopy object.Method Detail |
---|
public int getRegisterNumber()
public void setRegisterNumber(int anIndex)
anIndex
- the number of one of the Flash Player's internal registers.public boolean equals(java.lang.Object anObject)
FSActionObject
equals
in class FSActionObject
public void appendDescription(java.lang.StringBuffer buffer, int depth)
FSTransformObject
appendDescription
in class FSTransformObject
buffer
- a StringBuffer to which the description of each object is
appended.depth
- the maximum level of nesting up to which objects will be
displayed.public int length(FSCoder coder)
length
in class FSActionObject
public void encode(FSCoder coder)
encode
in class FSActionObject
public void decode(FSCoder coder)
decode
in class FSActionObject
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |