Hola!
Supongo que estás usando SDL. Si es así puedes utilizar la biblioteca
SDL_gfx, que entre otras cosas trae funciones para rotar superficies.
Específicamente deberías usar la función:
- Código: Seleccionar todo
SDL_Surface * rotozoomSurfaceXY (SDL_Surface *src, double angle, double zoomx, double zoomy, int smooth);
Por ejemplo si la imagen es un personaje caminando hacia la derecha (por defecto), y si queremos mostrarlo caminando a la izquierda, haríamos lo siguiente:
- Código: Seleccionar todo
SDL_Surface *sprite; // Imagen del personaje
SDL_Surface *tmp; // Surface temporal donde quedara rotada la imagen
SDL_Rect pos; // Posición del sprite
// Supuesta posicion del sprite
pos.x=100;
pos.y=200;
// Efecto espejo en el eje x del sprite
tmp=rotozoomSurfaceXY(sprite, 0, -1, 1, 0);
// Copia la superficie rotada a la pantalla
SDL_BlitSurface(tmp, 0, screen, &pos);
// Eliminamos la superficie temporal
SDL_FreeSurface(tmp);
Página oficial de SDL_gfx
http://www.ferzkopp.net/joomla/content/view/19/14/
Tengo una versión ya compilada y lista para usar de SDL_gfx en Windows (para el compilador MinGW).
Puedes bajarla desde aquí:
SDL_gfx 2.0.16
http://www2.netexplora.com/rcaf/utilida ... 2.0.16.zip
Saludos!