Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to flip a sprite in c#

Tags:

c#

sprite

I'm making a little game based on XNA game development's tutorial game "shooter"... after a bit of trial and error, I made my own animated sprite that i can move around the screen. The problem is, he's always facing right.

How can i change this (image below) so that he faces the right direction every time the key event is pressed?!

I'm pretty new to C# as you might have guessed, and I realize this may be more complicated than i thought, so i just need to know how to make the sprite face right when moving right and left when he's moving left.

image

Thank you in advance.

like image 576
Zanrkvil Avatar asked May 26 '11 23:05

Zanrkvil


2 Answers

You can also do this by passing the SpriteEffects.FlipHorizontally option to yourSpriteBatch.Draw() method. But as others have said this will have more overhead than using a sprite sheet.

like image 75
Bryan Avatar answered Sep 18 '22 14:09

Bryan


Usually a sprite sheet will contain images for each direction. You can flip the image at runtime, but it adds image processing that is unnecessary. I would suggest to you that you simply create a sprite sheet up front with each animation baked in and just figure out which frame to display at runtime.

See an example of a simple sprite sheet here

like image 39
Ed S. Avatar answered Sep 20 '22 14:09

Ed S.