The SpriteManager is a static class which handles Sprite addition, removal, and common behavior. The SpriteManager manages behavior for Sprites and SpriteFrames.


The SpriteManager provides numerous methods for for working with Sprites. The following sections provide code samples for working with Sprite-related methods.

Sprite Addition

Most AddSprite methods both instantiate a new Sprite as well as add it to SpriteManager for management.

The following methods instantiate and add a Sprite to the SpriteManager:

For information on content managers, see the FlatRedBall Content Manager wiki entry.

Adding Sprites and Layers

Sprites can also be added to Layers.

Sprites which have already been created can be moved to layers. This is commonly performed when loading Scenes.

The Sprite will no longer be an un-layered Sprite. Similarly entire lists can be added:

For more information, see the Layer wiki entry.

Sprite Removal

The RemoveSprite methods remove Sprites from the engine as well as any two-way AttachableLists (such as SpriteLists) that the Sprites belong to.

RemoveSprite can also remove entire lists:

For more information see AttachableLists.

Managing PositionedObjects

See the PositionedObject wiki entry.

Read Only Lists

The SpriteManager provides read only access to its internal lists for debugging. It is not recommended to directly work with objects through these lists. The following lists the read only lists available:

  • AutomaticallyUpdatedSprites
  • DrawableBatches
  • SpriteFrames
  • ManagedPositionedObjects

These are static so you simply access them through the SpriteManager:

These lists are used by the ScreenManager to verify that all objects have been destroyed.