Allegro-Tutorial

Aus Spieleprogrammierer-Wiki
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Einleitung

Was ist Allegro?

Allegro eine in C geschriebene Bibliothek für C/C++ Multimediaanwendungen. Es läuft auf allen großen Betriebssystem und steht unter der zlib-Lizenz. Allegro umfasst Funktionen für Grafiken, Sounds, Eingabe und Zeitsteuerung.

Allegro kann mit SDl oder SFML verglichen werden.

Wo bekomme ich Allegro?

Allegro kann unter http://www.allegro.cc/ rutergeladen werden. Dort befinden sich auch viele Infos rund um Allegro. Die aktuellste Version ist 5.0.4 . Um Allegro zu nutzen müssen nach dem Download die Header und Libs dem Kompiler bekannt gemacht werden.

Das erste Fenster

Der Code

// Header einbinden
#include <allegro5\allegro.h>
 
int main()
{
        // Variablen für Bilschirmbreite / -höhe
    SCREEN_W = 640;
    SCREEN_H = 480;
    bool Running = true;
        // Zeiger für das Fenster
    ALLEGRO_DISPLAY *display = NULL;
        // Zeiger für die Event-Warteliste
    ALLEGRO_EVENT_QUEUE * event_queue = NULL;
 
    // Allegro initalisieren
    if(!al_init())
        return -1;
 
        // Fenster erzeugen
    display = al_create_display(SCREEN_W, SCREEN_H);
    if(!display)
        return -1;
 
        // Keyboardinput registrieren
    event_queue = al_create_event_queue();
    al_register_event_source(event_queue, al_get_keyboard_event_source());
 
    while(Running)
    {
        ALLEGRO_EVENT ev;
        al_wait_for_event(event_queue, &ev);
 
        if(ev.type == ALLEGRO_EVENT_KEY_DOWN)
        {
            switch(ev.keyboard.keycode)
            {
            case ALLEGRO_KEY_ESCAPE:
                Running = false;
                break;
            }
        }
                // Fenster aktualisieren
        al_flip_display();
                // Display schwarz färben
        al_clear_to_color(al_map_rgb(0, 0, 0));
 
 
    }
 
    al_destroy_display(display);
 
    return 0;
}

Fortsetzung folgt...

AUs Zeitgründen wird dieses Tutorial später weitergeführt :(

Meine Werkzeuge
Namensräume
Varianten
Aktionen
Navigation
Werkzeuge