Efecto espejo en una imagen (Vertical Flip)

Tratamos sobre el manejo de APIs frecuentemente utilizadas en el desarrollo de videojuegos, como SDL, pygame o SFML.

Efecto espejo en una imagen (Vertical Flip)

Notapor hugetto » Vie Abr 13, 2007 8:45 pm

Buenas he estado buscando por todo internet alguna función que haga el efecto espejo de una imagen ya que mi juego queria que tuviese bastantas imagenes y es más sencillo si puedo utilizar una función antes que hacer otra plantilla con todos los sprites girados.

Muchas grácias por adelantado.

Atentamente: Hugo
hugetto
 
Mensajes: 5
Registrado: Vie Abr 13, 2007 8:35 pm

Notapor rcaf » Sab Abr 14, 2007 1:35 am

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!
Roberto Albornoz Figueroa
Mi Blog
Wiki
Avatar de Usuario
rcaf
 
Mensajes: 71
Registrado: Jue Ago 10, 2006 4:35 am
Ubicación: Concepción, Octava Región. Chile

Linker

Notapor hugetto » Lun Abr 16, 2007 10:02 pm

Grácias por la información ahora necessitaria saber los parametros que le tengo que pasar al linker para que me encuentre las librerias estaticas.

Por ejemplo para el SDL, SLD_image y el mysql uso
Código: Seleccionar todo
-lSDL -L/usr/lib -Wall -g -L/usr/lib/mysql -lmysqlclient -lpthread -lSDL_image


Uso linux con kdevelop.

Muchisimas grácias!
hugetto
 
Mensajes: 5
Registrado: Vie Abr 13, 2007 8:35 pm

Respuesta

Notapor hugetto » Lun Abr 16, 2007 10:22 pm

Ok ya lo he conseguido:
SDL_gfx guarda los includes en una capeta de includes y la libreria estatica en diferentes carpetas de lo normal /usr/local/include y /usr/local/lib

Simplemente he copiado los archivos donde normalmente se encuentran el resto /usr/include y /usr/lib y he añadido las siguientes credenciales al compilador "-lSDL_gfx"

Hasta pronto
hugetto
 
Mensajes: 5
Registrado: Vie Abr 13, 2007 8:35 pm


Volver a Sobre las bibliotecas multimedia

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado