NSTimer vs CACurrentMediaTime ()

Ich stecke also mitten in meinem ersten iOS-Spiel und habe Probleme damit, wie ich die Objektbewegung am besten integrieren kann.

Das Spiel basiert stark auf sich schnell bewegenden Objekten und ständigen, schnellen Änderungen der Benutzereingaben. Aus diesem Grund versuche ich, die Objektintegration und den Constraint-Solver so schnell und genau wie möglich auszuführen (um Änderungen der Benutzereingaben zwischen aufeinanderfolgenden Spielschleifenaufrufen zu minimieren).

Insbesondere bin ich mir nicht sicher, welche Funktionen die NSTimer-Klasse und die CACurrentMediaTime () -Funktion bieten. Es ist schwer, empirisch zu testen, da ich nicht sicher bin, welche den größeren Fehler haben. Wenn ich zum Beispiel einen NSTimer mit einem Wiederholungsintervall von 0,008 (~ 2 Updates / Bildschirmaktualisierung) verwende und CACurrentMediaTime () bei aufeinanderfolgenden Aufrufen aufrufe, finde ich, dass das Zeitintervall zwischen den Aufrufen zwischen 0,0075 und 0,009 variiert. Schwer zu sagen, was für die (kleine) Inkonsistenz verantwortlich ist. Also für die Bestimmung des Zeitschritts sollte ich sein:

Angenommen, NSTimer ist genau genug, um das NSTimer-Zeitintervall als Zeitschritt für die Spielschleife zu verwenden

Verwenden Sie CACurrentMediaTime (), um das Zeitintervall zwischen aufeinanderfolgenden Game Loop-Aufrufen zu bestimmen.

Student und neu in all dem - bitte sei nett :) Jeder Rat ist sehr dankbar. Vielen Dank für Ihre Zeit.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage