Domanda

Mi stavo chiedendo se c'è un metodo gametime trascorso che potrei aggiungere accelerazione a un'entità.Voglio usare qualcosa come il codice gametime trascorso di XNA.La quantità di secondi che passa attraverso ogni fotogramma è tutto ciò di cui ho bisogno per ottenere l'accelerazione funzionante.

È stato utile?

Soluzione

Se si utilizza GameWindow, è possibile utilizzare FrameEventArgs dagli eventi UpdateFrame e RenderFrame.

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);
    }
}
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top