Hola a todos, dejo un ejemplo sencillote de una animación que es independiente del FPS.
import "mod_key"
import "mod_proc"
import "mod_map"
import "mod_video"
import "mod_time"
global
type st_pose
int graph;
int m_sec;
end
Begin
set_mode(320,240,32);
dragon();
Repeat
frame;
Until(key(_ESC))
exit();
End
Process dragon()
Private
st_pose poses[5];
i;
int cur_pos;
int ini_time,passed;
Begin
x=160;
y=100;
for (i=0;i<5;i++)
poses[i].graph = load_png("recursos/dragon"+(i+1)+".png");
poses[i].m_sec = 200;
end
poses[0].m_sec = 1000;
poses[4].m_sec = 300;
ini_time = get_timer();
while(!key(_esc))
passed = get_timer() - ini_time;
if (passed > poses[cur_pos].m_sec)
ini_time = get_timer();
cur_pos++;
if (cur_pos >= 5)
cur_pos = 0;
end
end
graph=poses[cur_pos].graph;
frame;
End
for (i=0;i<5;i++)
unload_map(0,poses[i].graph);
end
End
Se aceptan mejoras.
No aporto mejoras porque se me escapa, es una solución basada en timers que jamás había pensado... :o
Lo tendré en cuenta para mi módulo de animación, ya que actualmente sólo es posible especificar cada cuántos frames anima, pero no es posible especificar cada cuántos segundos independientemente de los frames... La idea es tremenda.
Gran aporte DCelso, sos groso.
Esto me permitiria poner segundos en pantalla ? (lo comento en el otro hilo).
Por cierto el fichero adjunto esta danificado, por suerte el prg se extrae bien.
esta bien el ejemplo, karma++ para ti.
no se como no lo vi antes.