The KeepSpriteInScreen method adjusts the absolute position of the argument Sprite so that it is fully in-view. This method makes a few assumptions:

  • The Camera is not rotated
  • The Sprite is in front of the Camera (has a smaller Z value than the Camera)


public void KeepSpriteInScreen(Sprite sprite)

Code Example

The following code creates a Sprite which is moved around the screen by the Keyboad with the arrow keys.

Add the following using statement:

using FlatRedBall.Input;

Add the following at class scope:

Sprite mSprite;

Add the following to Initialize after initializing FlatRedBall:

 mSprite = SpriteManager.AddSprite("redball.bmp");
 mSprite.ScaleX = 10;
 mSprite.ScaleY = 10;

Add the following to Update:

// This moves the Sprite around
// But this positions it so it stays in screen


KeepSpriteInScreen and Entities

As of the July 2010 release of FlatRedBall, the KeepSpriteInScreen method works properly even if the argument Sprite has a parent (a common setup when using Entities).