Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Ein Spiel mit der SDL – Teil 2. Ein Spiel mit der SDL TSingleton CTimerCFramework CGame CPlayer CShot CAsteroids CSprite.

Ähnliche Präsentationen


Präsentation zum Thema: "Ein Spiel mit der SDL – Teil 2. Ein Spiel mit der SDL TSingleton CTimerCFramework CGame CPlayer CShot CAsteroids CSprite."—  Präsentation transkript:

1 Ein Spiel mit der SDL – Teil 2

2 Ein Spiel mit der SDL TSingleton CTimerCFramework CGame CPlayer CShot CAsteroids CSprite

3 Die Klasse CSpieler  Bewegung des Spielers Tastaturabfrage Verändern der Position des Raumschiffes Anpassen der Animationsphase Position überprüfen  Verwaltet die Schüsse neuen Schuss abgeben vorhandene Schüsse bewegen

4 Die Klasse CGame  Spiel initialisieren  Gameloop Ereignisse bearbeiten (z.B. Spiel beenden) Update des Frameworks Update der Spiellogik ○ Spielfigur (Bewegung, Schuss) ○ Asteroiden spawnen ○ Asteroiden updaten ○ Kollisionskontrolle Zeichnen der Spielobjekte ○ Buffer flippen

5 Die main() - Funktion  Framework initialisieren  Spiel (CGame) Instanz erstellen Spiel initialisieren Spiel starten Spiel beenden  Framework beenden und freigeben

6 Verbesserungsmöglichkeiten  Striktes Trennen zwischen Update und Render  Verwenden von Konstanten für Parameter (z.B. Geschwindigkeit der Asteroiden)  Vererbungshierarchie einführen (z.B. DisplayableObject)  Hinzufügen von Features Kollision zwischen Raumschiff und Asteroiden Einführen eines Punktestandes Explosionen Menu  weitere Informationen unter http://www.libsdl.org/

7 Weitere wichtige Konzepte  Safepointer / Smartpointer  Funktionszeiger  Überladen von Operatoren  Mehrfachvererbung  LogFile-Klasse  Observer Pattern  C++ Bibliotheken

8 Funktionszeiger  Pointervariable, die auf die Einsprungadresse einer Funktion oder Member-Methode zeigt  Definition mit Parameterliste und Rückgabewert retType (*fpName)(paraList) Klammerung um den Variablennamen!  Zuweisung linke Seite: Funktionspointer rechte Seite: Name der Funktion  Signatur von Funktion und Pointer muss gleich sein

9 Funktionszeiger  Pointer auf statische Memberfunktionen Scope bei Zuweisung des Funktionszeigers mit angeben fp = className::methodName  Pointer auf nichtstatische Member bei Definition des Pointers Angabe des Klassennamen retValue (classname::*fpName)(params); Zuweisung erfordert Adressoperator fpName = &classname::methodName;

10 Funktionszeiger  Pointer auf nichtstatische Member sind auf den Scope angewiesen! Scope auf spezielle Variable beim Aufruf des Funktionspointers className myVar; (myVar.*fpName)(params);

11 Der this-Pointer  wird in Member Funktionen verwendet  Referenziert das aktuelle Objekt  Äquivalenter Zugriff auf Eigenschaften/Methoden this->myVar = 0; entspricht myVar=0; this->myMethod(); entspricht myMethod();  Hauptverwendung Rückgabe des aktuellen Objektes Übergabe des aktuellen Objektes als Funktionsparameter


Herunterladen ppt "Ein Spiel mit der SDL – Teil 2. Ein Spiel mit der SDL TSingleton CTimerCFramework CGame CPlayer CShot CAsteroids CSprite."

Ähnliche Präsentationen


Google-Anzeigen