topics:sdl
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
topics:sdl [2015/01/25 14:58] – [Surface] ninux | topics:sdl [2015/01/25 15:40] (aktuell) – [Tipps und Pitfalls] ninux | ||
---|---|---|---|
Zeile 3: | Zeile 3: | ||
===== Grundlagen ===== | ===== Grundlagen ===== | ||
+ | |||
==== Window ==== | ==== Window ==== | ||
Zeile 19: | Zeile 20: | ||
==== Blitting ==== | ==== Blitting ==== | ||
Soll eine Surface (im Sinne einer Pixelfläche) verändert werden, so geschieht dies nicht auf dem Window sondern im Hintergrund. Hierfür muss eine Surface angelegt werden, welche für die Manipulationsvorgänge genutzt wird. Nach Abschluss der Pixel-Manipulationen werden einfach die Surfaces bzw. deren Inhalte getauscht. Diese Vorgehensweise wird // | Soll eine Surface (im Sinne einer Pixelfläche) verändert werden, so geschieht dies nicht auf dem Window sondern im Hintergrund. Hierfür muss eine Surface angelegt werden, welche für die Manipulationsvorgänge genutzt wird. Nach Abschluss der Pixel-Manipulationen werden einfach die Surfaces bzw. deren Inhalte getauscht. Diese Vorgehensweise wird // | ||
+ | |||
+ | * [[https:// | ||
+ | |||
+ | ==== Bilddateien ==== | ||
+ | Um Bilddateien in eine Surface laden zu können bedarf es der Erweiterung von SDL, denn diese bietet nur die LowLevel Funktionalitäten an mit welchen lediglich Bitmaps (BMP) geladen werden können (siehe '' | ||
+ | |||
+ | Mit der Bibliothek '' | ||
+ | |||
+ | * [[https:// | ||
+ | * [[http:// | ||
+ | |||
+ | ==== Events ==== | ||
+ | Da SDL primär für interaktive Anwendungen verwendet wird, bietet diese auch Möglichkeiten für das Event-Handling. Hierfür gibt es Events und Event-Queues. | ||
+ | Jeder Event der während dem Betrieb einer Anwendung auftritt, wird in der Event-Queue abgelgt. | ||
+ | |||
+ | Diese Events können dann mit '' | ||
+ | |||
+ | Analog zu auslesen der Events aus der Event-Queue mit '' | ||
+ | |||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | |||
+ | ===== Tipps und Pitfalls ===== | ||
+ | |||
+ | ==== Headerdateien für SDL2 unter Linux ==== | ||
+ | Bei der Verwendung von SDL unter Linux gibt es eine Besonderheit bezüglich der Header-Dateien, | ||
+ | <code c> | ||
+ | #include < | ||
+ | </ | ||
+ | |||
+ | Für die Verwendung von SDL v2.x muss die Bibliothek wie folgt eingebunden werden. | ||
+ | <code c> | ||
+ | #include < | ||
+ | </ | ||
+ | |||
+ | Gleiches gilt auch für Erweiterungen wie '' | ||
+ | <code c> | ||
+ | #include < | ||
+ | </ | ||
+ | |||
+ | ==== Delays unter Linux ==== | ||
+ | Je nach dem kann es sein, dass ein kurzes Delay notwendig ist beim Start der Anwendung bis die Änderung einer Suface bzw. eines Window zu sehen ist. Dies ist ein aktueller Bug bei dem vermutlich ein Zusammenhang zu X11 und dem eingesetzten WindowManager besteht. | ||
+ | |||
+ | * [[https:// | ||
===== Weblinks ===== | ===== Weblinks ===== | ||
* [[https:// | * [[https:// |
topics/sdl.1422197884.txt.gz · Zuletzt geändert: 2015/01/25 14:58 von ninux