0
\$\begingroup\$

I'm making a game in XNA and I want to limit the movement of a sprite to the screen boundaries. How would I do this?

http://i.stack.imgur.com/ZqH0M.jpg

\$\endgroup\$
0
2
\$\begingroup\$

The simplest way, if you just want the sprite to not go off the screen is this

if (spritePosition.X > Window.ClientBounds.Width - spriteTexture.Width)
     spritePosition.X = Widow.ClientBounds.Width - spriteTexture.Width;
if (spritePosition.Y > Window.ClientBounds.Height - spriteTexture.Height)
     spritePosition.Y = Widow.ClientBounds.Height - spriteTexture.Height;

if (spritePosition.X < 0)
    spritePosition.X = 0;
if (spritePosition.Y < 0)
    spritePosition.Y = 0; 
\$\endgroup\$

Not the answer you're looking for? Browse other questions tagged or ask your own question.