Teil 2: Das erste SDL Programm

Das erste SDL Programm wird ein sehr einfaches. Es geht hier hauptsächlich darum, einen ersten Einstieg in diese Bibliothek zu finden, und das Projekt überhaupt erstmal zum Starten zu bringen – das ist nämlich erfahrungsgemäß die erste große Hürde.

Die SDL besteht aus mehreren Komponenten wie Video, Audio, …, die einzeln initialisiert werden müssen. Ebenso muss die Bibliothek beim Beenden deinitialisiert werden. Die SDL kümmert sich ausserdem um die Ereignisbehandlung (Tasten- oder Mausereignisse, etc.), so dass wir uns nicht um plattformspezifischen Code kümmern müssen.

Unser erstes Programm soll einen Grafikmodus initialisieren und sich nach Tastendruck beenden.

Datei /Main.cpp

Der Header SDL.h ist der Header, in dem die gesamten SDL-Funktionen, Typen und Konstanten deklariert sind, die alle mit SDL_ beginnen. Um eine detailierte Erklärung zu den einzelnen Befehlen und Parametern zu erhalten, besuche bitte das SDL Documentation Project aus den weiterführenden Links (unten).

Die main-Funktion dient dann als Haupteinsprungspunkt in das Programm. Hier wird bewusst keine plattformabhängige Funktion verwendet, wie z.B. die WinMain unter Windows, um den Quelltext ohne Änderungen unter jedem System compilieren zu können.

Die folgenden Schritte sind einfach: Es wird eine 800×600 Pixel große Fläche mit 16 Bit Farbtiefe angefordert, vorerst im Fenster. Diese Fläche (engl. Surface) soll Doublebuffering unterstützen und im Videospeicher liegen, was die Anzeige erheblich beschleunigt. Daraufhin beginnt die Hauptschleife, in der die SDL ständig die Betriebssystemnachrichten überprüft. Tritt die Nachricht SDL_KEYDOWN ein, verlassen wir die Endlosschleife mit break. Das angeforderte Surface wird wieder freigegeben, und die SDL Bibliothek deinitialisiert.

Das ist alles. Dank der SDL müssen sich Windows-Benutzer nicht mehr mit der Erstellung des Fensters oder eines Message-Handlers rumplagen. Die SDL reduziert die Arbeit auf das Wesentliche, was uns hier natürlich sehr gelegen kommt.

Hinweise

Weitere Hinweise zum Arbeiten mit SDL und den jeweiligen Compilern findet ihr als Dokumentation in den SDL Developer Libraries, z.B. für Visual C++ in VisualC.html.

Bitte beachtet zu diesem Thema auch unbedingt die FAQ: http://www.libsdl.org/faq.php

Weiterführende Links

  • Das SDL Documentation Project: sdldoc.csn.ul.ie
    Hier gibt es eine umfangreiche Befehlsreferenz mit Kommentaren der Benutzer sowie Beispielprogramme.
  • Online Englisch-Deutsch/Deutsch-Englisch Wörterbücher
    dict.cc
    dict.leo.org
    Falls es mal mit den Englischkenntnissen hapert ;)

Aufgaben

  1. Lies die Dokumentation zu den im ersten Programm verwendeten SDL Befehlen, Typen und Parametern nach.
  2. Lies die Dokumentation und Kommentare zu den Befehlen SDL_FillRect, SDL_MapRGB, und SDL_Flip durch.
  3. Fülle den Backbuffer in der Hauptschleife mit einer Farbe deiner Wahl und zeige ihn an.

Falls du dich nicht mit der SDL auskennst, solltest du dir die Zeit nehmen, und die gestellten Aufgaben behandeln. Andernfalls kannst du direkt mit dem nächsten Teil durchstarten.

If you like this article, please share a slice of your pie and click here:

Write a Comment

Take a moment to comment and tell me what you think. Some basic HTML is allowed for formatting.

Reader Comments

Be the first to leave a comment!