Aktuelle Zeit: 22.12.2024, 15:38

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 2 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Variable Spielgeschwindigkeit
BeitragVerfasst: 09.07.2008, 18:43 
Offline

Registriert: 16.01.2008, 12:31
Beiträge: 79
Ich brauch mal ne Anregung.

Ich will verschiedene Spielgeschwindigkeiten haben, langsam und schnell. Um mal Zahlen zu nennen bei langsam soll eine "Runde" 5 sek. schnell laufen bei schnell 1 sek.

Wie ich die alle 5 oder 1 Sekunde was mache weiss ich
Code:
lastTickValue += this->irrDeviceValue->getTimer()->getTime() - oldTimeValue;
oldTimeValue = this->irrDeviceValue->getTimer()->getTime();
if (lastTickValue >= 5000)
{
  int j = 0;
  lastTickValue = 0;
}


Ich habe einen GameStateManager mit dem ich die verschiedenen Programm Zustände verwalte.
In der Schleife wird zum Beispiel immer eine Draw methode gerufen die den Aufruf an den, aktuell aktive, GameState leitet der dann entsprechend weiss was er zeichnen muss.

Wo packe ich nun aber meine Geschindigkeiten hin? Eigentlich müsste das in den entsprechenden GameState, in dessen Update-Methode, gehören oder?
Weil wenn ich nur die verstrichene Zeit weiter geben würde, habe ich ja nichts gewonnen oder?
Hab gerade irgendwie nen Knoten im Kopf.


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Variable Spielgeschwindigkeit
BeitragVerfasst: 11.07.2008, 17:41 
Offline
Moderator
Benutzeravatar

Registriert: 15.04.2007, 20:20
Beiträge: 505
Wohnort: Reelsen
Mach dir doch eine spezielle Timer-Klasse, bei der du dann per "float Timer::getTime()" eine *virtuelle* Zeit seit Spielbeginn abrufen kannst. Dann wird der Timer jeweils auf die unterschiedliche Geschwindigkeit gestellt und alle anderen Komponenten deines Spiels greifen auf ihn zu und bekommen automatisch die korrekte Zeit.

_________________
Meine Gameengine :)
Bild


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 2 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 6 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de