Forma de cargar una 'animación'
Esstoy estudiando informatica y programacion en delphi y nos han mandado como proyecto final hacer un juego en dicho programa, y yo he elegido simular una batalla entre dos personajes. Pero tengo una duda respecto a como animar a los personajes. He empezado a hacerlo creando un cuadro imagen para cada imagen o sprites del personaje y luego hacerla visible e invisible con refresh y sleeps de la siguiente forma. Por ejemplo para simular que el personaje lanza un fogonazo:
Fuego1.Visible:=true;
Fuego1.refresh;
Sleep(170);
Fuego1.visible:=false;
Fuego2.Visible:=true;
Fuego2.refresh;
Sleep(90);
Fuego2.visible:=false;
Fuego3.Visible:=true;
Fuego3.refresh;
Sleep(60);
Fuego3.visible:=false;
No se que me da que esta es la versión cutre de hacerlo, ;) porque de vez en cuando, la imagen se entrecorta o simplemente se queda pensando y hasta que no 'acaba' mi animación, no vuelven a aparecer las cosas, ademas que si quiero que dos animaciones distintas salgan a la vez, las he de intercalar en el código. Por eso pregunto la forma correcta de dar movimientos a imágenes (tipo a los gifs), y sino sigo haciéndolo así, pero ya digo que me da el problema de que de vez en cuando se cuelga hasta que pasan todos los sleeps o se entrecortan las imágenes...
Fuego1.Visible:=true;
Fuego1.refresh;
Sleep(170);
Fuego1.visible:=false;
Fuego2.Visible:=true;
Fuego2.refresh;
Sleep(90);
Fuego2.visible:=false;
Fuego3.Visible:=true;
Fuego3.refresh;
Sleep(60);
Fuego3.visible:=false;
No se que me da que esta es la versión cutre de hacerlo, ;) porque de vez en cuando, la imagen se entrecorta o simplemente se queda pensando y hasta que no 'acaba' mi animación, no vuelven a aparecer las cosas, ademas que si quiero que dos animaciones distintas salgan a la vez, las he de intercalar en el código. Por eso pregunto la forma correcta de dar movimientos a imágenes (tipo a los gifs), y sino sigo haciéndolo así, pero ya digo que me da el problema de que de vez en cuando se cuelga hasta que pasan todos los sleeps o se entrecortan las imágenes...
1 respuesta
Respuesta de abetop
1