Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.flagstone.transform
Class FSRemoveObject

    java.lang.Object
      com.flagstone.transform.FSTransformObject
          com.flagstone.transform.FSMovieObject
              com.flagstone.transform.FSRemoveObject

All Implemented Interfaces:
  java.lang.Cloneable

    public class FSRemoveObject

extends FSMovieObject

FSRemoveObject removes an object from the Flash Player's Display List.

An object placed on the display list is displayed in every frame of a movie until it is explicitly removed. Objects must also be removed if its location or appearance is changed using either the FSPlaceObject or FSPlaceObject2 classes.

Attributes
type | Identifies the data structure when it is encoded. Read-only.
identifier | The unique identifier, in the range 1..65535, of the object.
layer | The layer at which the object is placed in the Display List.

Although only one object can be placed on any layer in the display list both the object's unique identifier and the layer number must be specified. The FSRemoveObject class is superseded in Flash 3 by the FSRemoveObject2 class which lifts this requirement allowing an object to be referenced by the layer number it occupies in the display list.

# Examples

1. Remove an object.
To remove an object from the display list the object's identifier and the layer number using when the object was placed is used.

     // Place a shape to the display list for one frame.
     movie.add(new FSPlaceObject(shape.getIdentifier(), 1, 400, 400));
     movie.add(new FSShowFrame());

     // now remove it.
     movie.add(new FSRemoveObject(shape.getIdentifier(), 1));
     movie.add(new FSShowFrame());

2. Move an object.
To move an object it first must be removed from the display list and repositioned at its new location. Adding the object, with a new location, on the same layer, although only one object can be displayed on a given layer, will not work. The object will be displayed twice.

     // Add the shape to the display list.
     movie.add(new FSPlaceObject(shape.getIdentifier(), 1, 400, 400));
     movie.add(new FSShowFrame());

     // Move shape to a new location, removing the original so it does not get displayed twice.
     movie.add(new FSRemoveObject(shape.getIdentifier(), 1));
     movie.add(new FSPlaceObject(shape.getIdentifier(), 1, 250, 300));
     movie.add(new FSShowFrame());

# History

The FSRemoveObject class represents the RemoveObject tag from the Macromedia Flash (SWF) File Format Specification. It was introduced in Flash 1 and is superseded by the RemoveObject2 tag which was added in Flash 3.

Field Summary

Fields inherited from class com.flagstone.transform.FSMovieObject
`ButtonColorTransform, ButtonSound, DefineBitsPtr, DefineButton, DefineButton2, DefineFont, DefineFont2, DefineImage, DefineImage2, DefineJPEGImage, DefineJPEGImage2, DefineJPEGImage3, DefineMorphShape, DefineMovieClip, DefineShape, DefineShape2, DefineShape3, DefineSound, DefineText, DefineText2, DefineTextField, DefineVideo, DoAction, EnableDebugger, EnableDebugger2, Export, extendLength, FontInfo, FontInfo2, FrameLabel, Free, Import, Initialize, JPEGTables, length, LimitScript, PathsArePostscript, PlaceObject, PlaceObject2, Protect, QuicktimeMovie, RemoveObject, RemoveObject2, SerialNumber, SetBackgroundColor, ShowFrame, SoundStreamBlock, SoundStreamHead, SoundStreamHead2, StartSound, TabOrder, type, VideoFrame`

Constructor Summary
`FSRemoveObject(FSCoder coder)` Construct an FSRemoveObject object, initialising it with values decoded from an encoded object.
`FSRemoveObject(FSRemoveObject obj)` Constructs an FSRemoveObject object by copying values from an existing object.
`FSRemoveObject(int anIdentifier, int layer)` Constructs an FSRemoveObject object that will remove an object with the specified identifier from the given layer in the display list.

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` | `getIdentifier()` Gets the identifier of the object to be removed from the display list.
`int` | `getLayer()` Gets the layer in the display list where the object will be displayed.
`int` | `length(FSCoder coder)`
`void` | `setIdentifier(int anIdentifier)` Sets the identifier of the object to be removed.
`void` | `setLayer(int aLayer)` Sets the layer in the display list where the object will be displayed.

Methods inherited from class com.flagstone.transform.FSMovieObject
`getType`

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

### FSRemoveObject

    public FSRemoveObject(FSCoder coder)

  Construct an FSRemoveObject object, initialising it with values decoded from an encoded object.

  Parameters:
    `coder` - an FSCoder containing the binary data.

### FSRemoveObject

    public FSRemoveObject(int anIdentifier,
                          int layer)

  Constructs an FSRemoveObject object that will remove an object with the specified identifier from the given layer in the display list.

  Parameters:
    `anIdentifier` - the unique identifier for the object currently on the display list.
    `layer` - the layer in the display list where the object is being displayed.

### FSRemoveObject

    public FSRemoveObject(FSRemoveObject obj)

  Constructs an FSRemoveObject object by copying values from an existing object.

  Parameters:
    `obj` - an FSRemoveObject object.

Method Detail

### getIdentifier

    public int getIdentifier()

  Gets the identifier of the object to be removed from the display list.

  Returns:
    the identifier of the object to be removed.

### getLayer

    public int getLayer()

  Gets the layer in the display list where the object will be displayed.

  Returns:
    the layer number where the object to be removed is displayed.

### setIdentifier

    public void setIdentifier(int anIdentifier)

  Sets the identifier of the object to be removed.

  Parameters:
    `anIdentifier` - the unique identifier for the object currently on the display list.

### setLayer

    public void setLayer(int aLayer)

  Sets the layer in the display list where the object will be displayed.

  Parameters:
    `aLayer` - the layer in the display list where the object is being displayed.

### equals

    public boolean equals(java.lang.Object anObject)

  Description copied from class: `FSMovieObject`
  Returns true if anObject is equal to this one. Objects are considered equal if they would generate identical binary data when they are encoded to a Flash file.

  Overrides:
    `equals` in class `FSMovieObject`
  Returns:
    true if this object would be identical to anObject when encoded.

### appendDescription

    public void appendDescription(java.lang.StringBuffer buffer,
                                  int depth)

  Description copied from class: `FSTransformObject`
  AppendDescription is used to present a string description of the object including all nested objects up to a specified depth. This method provide a more controlled way of creating a string representation of an object since large objects such as font or shape definitions can contain dozens of nested objects. The representation of the object is appended to the StringBuffer, showing the name of the class and values of the attributes it contains. If the object contains any attributes that are objects then the object graph will be traversed up to the specified depth. If objects are nested at a level less than specified depth then the full string representation of the object is displayed. For objects at the specified depth only the name of the class is displayed. Any objects below this depth are not displayed.

  Overrides:
    `appendDescription` in class `FSMovieObject`
  Parameters:
    `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.

### length

    public int length(FSCoder coder)

  Overrides:
    `length` in class `FSMovieObject`

### encode

    public void encode(FSCoder coder)

  Overrides:
    `encode` in class `FSMovieObject`

### decode

    public void decode(FSCoder coder)

  Overrides:
    `decode` in class `FSMovieObject`

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD