Objektorientierte Programmierung

Слайд 2

Zeit als Kommazahl
Framerate
Time.deltaTime
Blaupause eines Timers
Einfachere Wege: Invoke

Zeit und Timer

Zeit als Kommazahl Framerate Time.deltaTime Blaupause eines Timers Einfachere Wege: Invoke Zeit und Timer

Слайд 3

Es gibt die Möglichkeit Zeiten festzuhalten
Das ist jedoch für einen Timer zu

Es gibt die Möglichkeit Zeiten festzuhalten Das ist jedoch für einen Timer
aufwändig
Man verwendet float-Zahlen, die die Sekunden beschreiben
Um Zeit mitzuzählen, zählt man also eine float-Variable hoch
Doch um was?

Zeit als Kommazahl

Слайд 4

Anfängerfehler ist es, in jedem Frame um einen Festen Wert zu zählen
Ergebnis:
zeitverzögerte

Anfängerfehler ist es, in jedem Frame um einen Festen Wert zu zählen
Funktion
Aber keine korrekte Zeit
Framerate unterschiedlich, von Hardware und Spiel abhängig

Framerate

Слайд 5

Der gesuchte Wert
Die Zeit, die zwischen dem letzten und dem jetzigen Frame

Der gesuchte Wert Die Zeit, die zwischen dem letzten und dem jetzigen
verstrichen ist
Sehr präzise, in Millisekunden

Time.DeltaTime

Слайд 6

Render und Darstellung

FRAME 2

Berechnungen

TimeStamp

TimeStamp

Differenz zwischen den Zeiten

Time.deltaTime

Berechnungen

FRAME 1

Time.DeltaTime

Render und Darstellung FRAME 2 Berechnungen TimeStamp TimeStamp Differenz zwischen den Zeiten

Слайд 7

public float zeitBisher;
public void Update()
{
zeitBisher += Time.deltaTime; // Zählt den Wert

public float zeitBisher; public void Update() { zeitBisher += Time.deltaTime; // Zählt
um die Sekunden hoch
}

Zeit mitzählen

Слайд 8

public float zeitBisher;
public void Update()
{
zeitBisher += Time.deltaTime; // Zählt den Wert

public float zeitBisher; public void Update() { zeitBisher += Time.deltaTime; // Zählt
um die Sekunden hoch
float minutesRaw = zeitBisher / 60; // Zeit in Sekunden / 60 = Minuten
float minutes = Mathf.Floor( minutesRaw); // Rundet die Zahl nach unten ab
float seconds = Mathf.RoundToInt( zeitBisher % 60 ); // Rest von „zeitBisher / 60“ ? Gerundet
Debug.Log(minutes + „:“ + seconds);
// Beispiel: 5 : 23
}

Zeit mitzählen

Слайд 9

public float timer;
Public void StartSomeThingInSomeTime()
{ timer = 4.6f; }
public void Update()
{
if( timer >

public float timer; Public void StartSomeThingInSomeTime() { timer = 4.6f; } public
0) // Nur zählen, wenn Timer gestartet
{
timer -= Time.deltaTime; // Runterzählen
if(timer <= 0) // Zeitabgelaufen?
{
TimerFunction(); //Aktion!
timer = -1; // Timer stoppen
}
}
}

Timer

Имя файла: Objektorientierte-Programmierung.pptx
Количество просмотров: 38
Количество скачиваний: 0