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