Programación Específica > Programación de Videojuegos

 Animacion Sprites

(1/2) > >>

mundoemulado:
Ante todo un saludo a toda la comunidad de solocodigo.

estoy comenzando en este apasionante mundo y tengo una duda que espero me podais aclarar.

He visto que hay una forma de animar sprites mediante un solo archivo que contiene todos los graficos del juego, luego se trazan unos rectangulos y mediente el programa vas accediendo a todos los sprites.

Estoy un poco liado asi que si alguien me lo sabe explicar con mas detalle este proceso se lo agradezco de antemano.


Bueno nos leemos ;)


ciaoooo

Ruben3d:
Hola.

Lo que preguntas depende de qué librería gráfica estés usando, o de si lo estás haciendo a mano. ¿Cuál es tu caso?

Un saludo.

Ruben3d

JuanK:
El caso es que tienes una imagen con todos los recuadros de animacion de un personaje y estos estan claramente definidos,
asi que cargas la imagen en memoria pero solo dibujas en pantalla el area de la imagen correspondiente a un rectangulo determinado.
de esta manera en un instante de tiempo dibujas el area correspondiente al rectangulo nro 1 y al siguiente instante de tiempo solo dibujas el area correspondiente al erctangulo 2 o a cualquiera segun tus necesidades.

mundoemulado:
Muchas gracias a Ruben3d y Juank por contestar tan rapido ;) por lo que he visto en el foro os manejais muy bien en este tema.

En relaccion a la pregunta de Ruben3d estoy trabajando con sdl si me puedes orientar un poco mas con esto de los sprites en sdl de maravilla si no pues gracias por el interes :).

Respecto a Juank como se en que posicion x y esta cada grafico de la animacion¿?

soy un poco torpe con esto de los sprites.

Enga muchas gracias a los dos de nuevo

ciaoooo.

Amilius:
La idea básica del archivo con todos los cuadros (frames) de animación es esta:

1. Obtienes VARIOS archivos gráficos (con algún editor) cada uno con un cuadro de animación: caminando, parado, corriendo, etc. Y para cada dirección que sea necesaria: caminando a la derecha, arriba, abajo, etc.

2. Recortas los pedazos que no se usan en cada gráfico, las partes "transparentes", de forma que quede un rectángulo conteniendo el sprite.

3. Realizas un "collage" de estos gráficos de la mejor manera que puedas para evitar desperdiciar espacio. Es más práctico una collage por dirección del sprite (secuencia de caminando a la derecha, secuencia de caminando hacia arriba, etc).

4. Guardas en un archivo las coordenadas de los rectángulos que corresponden con cada "cuadro", esto tendrías que hacerlo para cada cuadro a medida que lo colocas en el collage. TU TIENES QUE SABER las posiciones x, y, por que tu armas el collage.

5. En tiempo de ejecución cargas en memoria los gráficos de los "collage" (secuencias de frames) y al momento de pintarlos en pantalla indicas el rectánculo origen correspondiente para cada cuadro (frame) de acuerdo a la acción, dirección y secuencia de animación del sprite.

¿Complicado?
Sin duda, es complicado. Puedes facilitarte las cosas si las dimensiones de los rectángulos siempre tienen el mismo ancho y alto, pero desperdiciarás memoria en cantidad.

¿Existen programas gratuitos que ya hacen esto?
Si, DelphiX tiene varias herramientas (gratuitas) para realizar esto y muchas otras cosas necesarias para programar juegos. Por supuesto que no es un hada madrina que hará el trabajo por ti, pero ayudará bastante.

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa