Como veréis soy nuevo por aquí pero espero estar para mucho tiempo xD
He estado viendo algunos ejemplos y me ha parecido que lo de sincronizar de aquí es para que en todos los ordenadores el 'tanque' se desplace del punta A al B en el mismo tiempo (si refresca solo dos veces parecerá que se teletransporta...) pero no entiendo como se logra hacerlo.
¿alguien con paciencia me lo explica?
- Código: Seleccionar todo
int fps_sincronizar (void)
{
static int t;
static int tmp;
static int tl = 0;
t = SDL_GetTicks ();
if (t - tl >= FRECUENCIA)
{
tmp = (t - tl) / FRECUENCIA;
tl += tmp * FRECUENCIA;
return tmp;
}
else
{
SDL_Delay (FRECUENCIA - (t - tl));
tl += FRECUENCIA;
return 1;
}
}
y que luego es usado en:
- Código: Seleccionar todo
repeticiones = fps_sincronizar ();
for (i = 0; i < repeticiones; i ++)
{
mover_tanque (& tanque);
mover_camara (& camara, & tanque);
}
PD: Para el que ayude que tenga en cuenta que solo se algo de C