time_step
time_frame

Dauer des letzten Framezyklus in Ticks, d.h. sechzehntel Sekunden. Eine mit time_step multiplizierte Geschwindigkeit ergibt die pro Frame zurückgelegte Strecke. Bei einer Bildwiederholungsrate von 16 Frames/Sek. haben diese Variablen einen Wert von 1.
time_step wird durch fps_min begrenzt, durch time_smooth geglättet und durch time_factor gedehnt. time_frame wird nicht nachbearbeitet und enthält immer die Dauter des letzten Framezyklus.

Wertebereich:

0.1 .. 10 (time_step)
0..unlimited (time_frame)

Typ:

var, read-only

Bemerkungen:

Für Bewegungen oder zum Ausgleich unterschiedlicher Frameraten sollte immer time_step verwendet werden. Ein 'Ruckeln' im Spielablauf passiert dann, wenn time_step sich plötzlich zwischen zwei Frames ändert - in anderen Worten: wenn ein Frame wesentlich länger dauert als folgende oder der vorangegangene. Ursache können Hintergrundprozesse, Festplattenzugriffe oder ähnliches sein. Wenn sich time_step plötzlich ändert, werden Geschwindigkeiten im nächsten Frame ungenau. Dies lässt sich durch die time_smooth Variable verhindern.

Beispiel:

while(1) // Endlosschleife
{ 
   temp = vector(5 * time_step,0,0); // Geschwindigkeit der frame rate anpassen.
   c_move(me,temp,nullvector,USE_AABB);
   my.skin += time_step / 16; // pro Sekunde eine neue Skin.
   my.skin %= 16; // 16 Skins
   wait(1);
}

Siehe auch:

time_smooth, time_factor, fps_max, fps_min, fps_lock, total_ticks, total_frames, wait

► Aktuelle Version Online