Control de usuario
Patrocinadores
Estadísticas
Miembros:
334.654
Online:
698
Hilos:
1.380.674
Mensajes:
24.885.120
Stats

Índice de foros Otras Consolas Desarrollo

¿Se puede rotar una imagen en sdl en tiempo de juego?

Dedicado al desarrollo de software casero para videoconsolas

Moderador: jiXo

grovestr
Avatar de usuario
MegaFriki
 
Mensajes: 1508
Registrado: 17 Ago 2005
Ubicación: Madorido

¿Se puede rotar una imagen en sdl en tiempo de juego?

Mensajepor grovestr 14 Jul 2011 17:22

Pues eso, quiero hacer un asteroids y la nave deberia de rotar segun se mueva, pero no se si se puede hacer porque todo el mundo dice que la funcion que rota en la libreria SDL_gfx es muy mala, es mentira? o hay algun otro metodo para girar imagenes?
Imagen

kbks
Avatar de usuario
MegaAdicto!!!
 
Mensajes: 2078
Registrado: 19 Nov 2005
Ubicación: Ugao

Mensajepor kbks 15 Jul 2011 07:56

Si, se puede, pero es muy lento. Lo normal en estos casos es utilizar polígonos 3D planos con la textura de la nave y rotarlos (para lo que necesitas OpenGL) o realizar tu a mano todas las rotaciones posibles de la nave en un programa de dibujo y utilizar una u otra dependiendo de hacia donde se mueva la nave.
ATHLETIC KARAJO!

grovestr
Avatar de usuario
MegaFriki
 
Mensajes: 1508
Registrado: 17 Ago 2005
Ubicación: Madorido

Mensajepor grovestr 16 Jul 2011 20:40

bue al final queda bien con el sdl_gfx este, lo que tengo problemas es en como estoy haciendo un asteroids, la nave se mueve solo para delante, segun la "dirreccion" a la que esta apunte, y no se como puedo hacer que se desplace a la dirrecion que quiero la imagen a partir de un angulo u.u alguien tiene idea? creo que tengo que usar trigonometria a saco
Imagen

nazareth
Avatar de usuario
I'm Finishing
 
Mensajes: 2466
Registrado: 03 Ene 2008
Ubicación: Cartagena

Mensajepor nazareth 17 Jul 2011 09:10

Si, tienes que tirar de función de seno y coseno y combinar el desplazamiento del eje 'x' y del eje 'y'

Reakl
MegaAdicto!!!
 
Mensajes: 1409
Registrado: 21 May 2011

Mensajepor Reakl 20 Jul 2011 11:24

grovestr escribió:bue al final queda bien con el sdl_gfx este, lo que tengo problemas es en como estoy haciendo un asteroids, la nave se mueve solo para delante, segun la "dirreccion" a la que esta apunte, y no se como puedo hacer que se desplace a la dirrecion que quiero la imagen a partir de un angulo u.u alguien tiene idea? creo que tengo que usar trigonometria a saco

Es muy fácil.

nave->x += nave->velocidad* cos(angulo);
nave->y -= nave->velocidad* sin(angulo);

Esto es para angulo 0 = derecha, angulo 90= arriba.

kbks
Avatar de usuario
MegaAdicto!!!
 
Mensajes: 2078
Registrado: 19 Nov 2005
Ubicación: Ugao

Mensajepor kbks 20 Jul 2011 11:41

Para este tipo de cosas creo que lo mejor es tener un vector unitario que rote con la nave y multiplicarlo por la velocidad. Creo que es lo mas sencillo y la mejor manera de almacenar una dirección y una velocidad.
ATHLETIC KARAJO!


Volver a Desarrollo

¿Quién está conectado?

Usuarios navegando por este foro: No hay usuarios registrados visitando el foro y 0 invitados