Keeping the Sprite in the Game Window
You have probably noticed that the rings sprite will disappear off the edge of the
screen if you move it far enough. It's never a good idea to have the player
controlling an object that is off-screen and unseen. To rectify this, update the
position of the sprite at the end of the Update
method. If the sprite has moved too far to the left or the right or too far up or
down, correct its position to keep it in the game window. Add the following code at
the end of the Update method, just before the
call to base.Update:
if (ringsPosition.X < 0)
ringsPosition.X = 0;
if (ringsPosition.Y < 0)
ringsPosition.Y = 0;
if (ringsPosition.X > Window.ClientBounds.Width - ringsFrameSize.X)
ringsPosition.X = Window.ClientBounds.Width - ringsFrameSize.X;
if (ringsPosition.Y > Window.ClientBounds.Height - ringsFrameSize.Y)
ringsPosition.Y = Window.ClientBounds.Height - ringsFrameSize.Y;Compile and run the game at this point, and you should be able to move the rings sprite around the screen just as before; however, it should always stay within the game window rather than disappearing off the edge of the screen.
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access