Frage
Ich habe mich gefragt, ob es eine verstrichene Spielzeit-Methode gibt, mit der ich einer Entität eine Beschleunigung hinzufügen könnte.Ich möchte so etwas wie den abgelaufenen Spielzeit-Code von XNA verwenden.Die Anzahl der Sekunden, die durch jeden Frame vergehen, ist alles, was ich brauche, um die Beschleunigung zum Laufen zu bringen.
Lösung
Wenn Sie verwenden GameWindow
, können Sie die verwenden FrameEventArgs
von der UpdateFrame
und RenderFrame
anl.
class MyGame : GameWindow
{
double seconds;
Vector3 position;
protected override void OnUpdateFrame(object sender, FrameEventArgs e)
{
// e.Time is the elapsed time from the previous UpdateFrame event
// in seconds
seconds += e.Time;
position = new Vector3(
(float)Math.Cos(seconds),
(float)Math.Sin(seconds),
1.0f);
}
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow