Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Kora Schulz Geändert vor über 7 Jahren
1
Ein Spiel mit der SDL - Teil I
2
Ein Spiel mit der SDL kostenlose Bibliothek – Simple DirectMedia Layer Grafik darstellen Benutzereingaben abfragen Sounds und Musik abspielen plattformunabhängig http://www.libsdl.org/ Verwendetes Beispiel aus Kalista: C++ für Spieleprogrammierer
3
Einrichten des Projektes Headerdateien einbinden (include) Bibliotheksdateien einbinden (lib)
4
Einrichten des Projekts Explizite Angabe der Bibliotheksdateien Codeerstellung
5
Ein Spiel mit der SDL Spaceinvaders light Asteroiden fallen vom oberen Bildschirmrand nach unten Der Spieler steuert ein Raumschiff bewegt sich horizontal am unteren Bildschirmrand feuert auf die Asteroiden trifft ein Schuß einen Asteroiden, wird dieser zerstört
6
Ein Spiel mit der SDL
7
TSingleton CTimerCFramework CGame CPlayer CShot CAsteroids CSprite
8
Die Klasse CTimer Zeitgeber zur Realisierung einer gleichförmigen Bewegung unabhängig der Rechnergeschwindigkeit misst die Zeit zwischen den Frames vergangene Zeit seit dem letzten Frame dient als Skalierung Speichert die Zeit des letzten Frames Berechnet die vergangene Zeit
9
Die Klasse CFramework Grafik auf den Bildschirm bringen Tastatureingaben verwalten Verwaltung der SDL Initialisierung eines Ausgabebereiches für die Grafik (Surface) SDL_SetVideoMode ○ Höhe, Breite, Farbtiefe ○ Verwaltung im Videospeicher (SDL_HWSURFACE) ○ Doublebuffering (SDL_DOUBLEBUF) ○ Vollbild (SDL_FULLSCREEN)
10
Die Klasse CFramework Update in jedem Gameloop Update des Timers Ermitteln des Zustandes der Tastatur Abfrage gedrückter Tasten Löschen des Grafikpuffers Umschalten der Surface (flip) Beenden der SDL
11
Doublebuffering und Flipping Im Speicher werden 2 Surfaces (Zeichnungsfläche) gehalten gezeichnet wird in die Surface, die gerade nicht angezeigt wird (Backbuffer) Umschalten zwischen Backbuffer und angezeigter Surface nach dem Rendern Funktioniert nur bei Verwendung vom Videospeicher
12
Ein Spiel mit der SDL TSingleton CTimerCFramework CGame CPlayer CShot CAsteroids CSprite
13
Die Klasse CSprite Sprite: kleine, rechteckige Grafik, die auf dem Bildschirm angezeigt wird Laden der Grafik Positionierung des Sprites Transparente Farbe festlegen Sprite auf den Bildschirm zeichnen Verwaltung von animierten Sprites
14
Animierte Sprites Sprite in mehreren Zuständen in einem Bild Darstellung eines bestimmten Ausschnittes (Frame) Zusätzliche Daten Höhe und Breite eines Frames Anzahl der Frames Sprite wird unter Angabe des aktuellen Frames gerendert
15
Ein Spiel mit der SDL Definition der Spielobjekte Spieler (Raumschiff) Asteroiden Schüsse Verwaltung der Spielobjekte von der Klasse CGame Schüsse werden von der Spielerklasse verwendet CGame kümmert sich außerdem um die Spiellogik
16
Die Klasse CShot Darstellung der Schüsse des Raumschiffes Einmaliges Laden des zugehörigen Bild Zeiger auf den Sprite wird jeder CShot-Instanz übergeben Speicherung der Position in jeder Instanz Vor dem Zeichnen wird das Sprite auf die jeweilige Position verschoben Lebenszyklus von CPlayer verwaltet Schuß bewegen, Position prüfen Schuß anzeigen
17
Die Klasse CAsteroid Darstellung der Asteroiden Äquivalent zur Klasse CShot Asteroiden sind animiert inkrementieren der Animationsphase (nicht nach jedem Loop!)
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.