Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Tutorial by Easykoder ®
www.easykoder.vot.pl
Biblioteki C++

Odpalamy Allegro

[lekcja] Rozdział 3. Budowa aplikacji opartej o bibliotekę Allegro i podstawowe funkcje biblioteki.

Budowa programu allegro

W tym tutorku nie będziemy owijali w bawełnę ;) Zaczynajmy więc. Będziemy robić tak: najpierw kodzik, potem wyjaśnienia.

C/C++
#include <allegro.h>
int main()
{
    allegro_init();
    allegro_exit();
    return 0;
}
END_OF_MAIN();

No i to by było na tyle. Możesz być z siebie dumny ;) napisałeś swój pierwszy program w Allegro. Ten program nie robi nic prócz włączenia i wyłączenia allegro. Koniecznie skompiluj go i zobacz efekty, jeśli nic nie zobaczysz nie przejmuj się lub jeśli pojawia się jakiś błąd sprawdź czy wszystko wpisałeś poprawnie. Dobra, a teraz wyjaśnienie najważniejszych procedur itp.:

#include <allegro.h>

Na samym początku musisz oczywiście dodać bibliotekę Allegro do naszego projektu, będziesz to robił zawsze, dlatego zapamiętaj tę linię ;).

allegro_init();

Ta funkcja jest niezbędna w każdym programie wykorzystującym Allegro. Inicjuje całą bibliotekę.

allegro_exit();

Jest to funkcja, która wyłącza bibliotekę Allegro.

Pisanie po ekranie

No dobra, napiszmy teraz jakiś program który wypisze coś na ekranie...

C/C++
#include <allegro.h>
int main()
{
    allegro_init();
    install_keyboard();
    set_color_depth( 8 );
    set_gfx_mode( GFX_AUTODETECT, 800, 600, 0, 0 );
    set_palette( default_palette );
    clear_to_color( screen, 48 );
    textout_ex( screen, font, "Witaj w Allegro !", 20, 20, makecol( 255, 0, 255 ), - 1 );
   
    readkey();
   
    allegro_exit();
    return 0;
}
END_OF_MAIN();

Jak widać pojawiło się tu kilka nowych funkcji. A oto one :

install_keyboard();

Jak sama nazwa wskazuje, instaluje klawiaturę, abyśmy mogli potem używać takich funkcji jak readkey, czy obsługiwać klawisze...

set_color_depth(8);

Ustawia głębię kolorów, możliwe tryby to : 8, 15, 16, 24, 32 bity. Tą funkcję uruchamiamy tylko przed wywołaniem trybu graficznego.

set_gfx_mode(GFX_AUTODETECT,800,600,0,0);

Tym poleceniem włączamy tryb graficzny. GFX_AUTODETECT oznacza, że Allegro użyje automatycznie wykrytego sterownika. Możemy zastosować również: GFX_AUTODETECT_FULLSCREEN - odpali allegro na pełnym ekranie, lub GFX_AUTODETECT_WINDOWED - odpali allegro w oknie, tylko pamiętajmy, że wymiary tego okna powinny być mniejsze niż rozdzielczość ekranu ! ...

set_palette(default_palette);

Ta funkcja ustawia paletę kolorów, do wyboru mamy:
  • default_palette - 16 kolorów w raz z wszystkimi gradientami.
  • black_palette - czarno-biała paleta kolorów.
  • desktop_palette - hmm Atari ?? ;]
Używamy tej funkcji jedynie przy 8 bitowej głębi, w wyższych trybach nie ustawiamy palety i zamiast numerów kolorów korzystamy z funkcji makecol.

clear_to_color(screen, 48);

Ta funkcja zamalowuje strukturę BITMAP podanym kolorem. Gdy używamy głębi kolorów większej niż 8, zamiast podawać numer koloru używamy funkcji makecol();

textout_ex(screen,font,"Siemka wszystkim !",20,20,makecol(255,0,255),-1);

Jest to podstawowa funkcja wyświetlająca tekst na strukturze BITMAP. Jej argumentami są: wskaźnik do struktury BITMAP, na której ma być wyświetlony napis, wskaźnik do struktury FONT, napis, pozycja X, pozycja Y, numer koloru, oraz numer koloru tła tekstu. Gdy za numer koloru tła tekstu podstawimy -1, tło będzie przezroczyste.

readkey();

Jeśli programowaliście w Pascalu to znacie tę funkcję... powoduje ona zatrzymanie programu do czasu naciśnięcia dowolnego klawisza.

Kody źródłowe programów

Zadania do tej i innych lekcji znajdziesz na naszym repozytorium.

Prawa autorskie

Serwis otrzymał zgodę od autora na publikację niniejszego materiału.
Poprzedni dokument Następny dokument
Wstęp Prymitywy