Hola, un saludo a todos los que integran el foro.
A ver si alguno me podeís ayudar: Estoy intentando buscar la manera de implementar un "motor" de sprites en C ( C puro ;) ) y el problema es que no sé muy bien que problemas me voy a encontrar si hago lo siguiente:
Un struct sprite que contenga
{
x,y
un array de infosprites
speed
visible...
}
en el array infosprites
struct infosprite
{
Un array de bitmaps (para los distintos frames)
pos_frame_Actual
max_frames
looping?...
}
En fin, montarlo así, ¿Qué os parece? , ¿Bien?¿Mal?¿Regular?....
Otra duda que tengo es acerca del bitmap en sí: Imaginaos que tengo una secuencia señor andando, y otra secuencia en la que ese señor pega un salto.
Obviamente, en la secuencia del salto, la coordenada Y del sprite va a subir, es decir, que se eleva. Éso sería mejor dejarlo tal y como está (yo no controlaría entonces los valores de la Y de mi sprite) o hacer todos los sprites en el suelo (los frames saltando están lo más apoyados posible del suelo) y subir las Y's en el programa....
Bueno, ahora que lo pienso, imagino que habrá que hacerlo a manina con el pograma.
Bueno, si alguien me puede ayudar con los sprites.... :)
No esta mal...
yo quitaria el "un array de infosprites" de la primera estructura y SOLO meteria un numero para identificar el "infosprite" usado para dibujar el sprite. (podria valer perfectamente un puntero a ese "infosprite")
EDIT: ah, y el frame_actual lo pondria en el "sprite", y no en el "infosprite"
Yo haría algo como:
struct t_sprite {
int x, y; // evidente
int ani_act; // animación actual
int frame_act; // fotograma dentro de esa animación
struct t_anim *anim; // array de animaciones
struct *images; // array con TODAS las imagenes de este sprite
};
struct t_anim {
int num_frames; // num. de fotogramas
struct t_frame *frame; // array de fotogramas
}
struct t_frame {
int dx, dy; // desplazamiento respecto al anterior
int num_img; // nº de imagen
int time; // tiempo del fotograma
int flags; // modificadores de pintado (inversión horizontal, vertical...)
// más datos que necesites
}
Es más o menos la estructura que uso yo (más bien menos), no la recuero ahora exactamente. Espero que te sirva.
Gracias a los dos por contestar, me pondré a ello esta noche.
¿Sabeís de algun sitio con sprites chulos y gratis?, ya tengo la Sprite_Lib, pero me gustaría trastear con alguna más.... No para uso comercial, sino por simple y puro aprendizaje. Me he dado cuenta de que me meto en temas demasiado complicados sin haber comprendido del todo los temas más sencillos. Por eso mi idea es hacer un sencillo juego de plataformas y aprender al máximo.
Un saludo
Saludos
Lo del señor saltando, yo lo haria con la misma Y para todos los frames. Asi sera el programa quien se encargue de gestionar la Y del sprite y todas esas cosas
Ta luego ;)
yep, es lo que voy a hacer (estoy haciendo ) XD
thx