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:38] – [Window] ninux | topics:sdl [2015/01/25 15:40] (aktuell) – [Tipps und Pitfalls] ninux | ||
---|---|---|---|
Zeile 3: | Zeile 3: | ||
===== Grundlagen ===== | ===== Grundlagen ===== | ||
+ | |||
==== Window ==== | ==== Window ==== | ||
Zeile 12: | Zeile 13: | ||
Eine Surface beinhaltet ein Fläche von renderbaren Bildpunkten (Pixel) und einige Informationen zur Surface (wie etwa das Format, Höhe, Breite, ...). | Eine Surface beinhaltet ein Fläche von renderbaren Bildpunkten (Pixel) und einige Informationen zur Surface (wie etwa das Format, Höhe, Breite, ...). | ||
- | Typisch werden mehrere Surfaces angelegt wobei eine Surface dem Window zugeordnet wird um entprechende Bildpunkte auf dem Window darzustellen. Hierfür gibt es die Möglichkeit eine Surface direkt an ein Window zu kopplen mit '' | + | Typisch werden mehrere Surfaces angelegt wobei eine Surface dem Window zugeordnet wird um entprechende Bildpunkte auf dem Window darzustellen. Hierfür gibt es die Möglichkeit eine Surface direkt an ein Window zu kopplen mit '' |
* [[https:// | * [[https:// | ||
* [[https:// | * [[https:// | ||
+ | ==== 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 // | ||
+ | |||
+ | * [[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:// | ||
* [[https:// | * [[https:// | ||
* [[http:// | * [[http:// | ||
+ | * [[https:// | ||
---- dataentry topic ---- | ---- dataentry topic ---- |
topics/sdl.1422196681.txt.gz · Zuletzt geändert: 2015/01/25 14:38 von ninux