ALLEGRO 5 / LEKCJA 1: Pierwsza kompilacja
Wyjaśnienie kodu
#include < allegro5/allegro_native_dialog.h>
Domyślam się że wiecie do czego służą te linijki kodu ale ptzypomne. Służą one do wprowadzenia bibliotek do kompilatora inaczej zainicjalizowania ich bez nich niezrobimy kompletnie NIC. Oczywiście tych bibliotek jest kilka i nie zawsze będą naw wystarczać tylko te dwie.
Ten kawałek kodu odpowiada za przypisanie do zmiennej 'display' pewnego rodzaju funkcji.
{
... ... ...
}
Ten oto właśnie if inicjalizuje nam biblioteke allegro. Można to zrobić w dużo szybszy sposób poprzez zamienienie tego całego if-a na:
al_init ();Z kolei ten kawałek kodu tworzy okno o wymiarach (800 na 600) pikseli. Stworzone okno przypisujemy do zmiennej 'display'.
al_show_native_message_box ( display , "Error #1" , "Błąd wyświetlenia okna aplikacji" , NULL , NULL , ALLEGRO_MESSAGEBOX_WARN | ALLEGRO_MESSAGEBOX_
OK_CANCEL );
return -1 ;
}
Jest to jedna z funkcji allegro która pokazuje nam małe okienko gdy "if(!display)" if spełni warunek.
displayPierwszym warunkiem jest 'display' czyli że ma to być okno. Nie mylcie tego parametru funkcji z nasza ZMIENNĄ 'display' która tworzy inne okno. Spójrzcie na warunek 'if'. Gdyby ten parametr otrzymywał ZMIENNĄ 'display' wtedy ten warunek byłby kompletnie sprzeczny. Bo jak może funkcja otrzymać zmienną którą zaprzeczył w warunku 'if'.
"Error #1Jest to tytuł naszego okna
"Błąd wyświetlenia okna aplikacji"Jest to nagłówek okna ale możemy juz w nim napisać cały tekst
NULLPierwszy null który widzimy w tej funcki to miejsce na tekst. Ja cały tekst wpisałem w nagłówku. Można oczywiście także wpisać nagłówek jak i tekst lub tylko tekst bez nagłówka.
NULLDrugi null w tej funkcji odpowiada za wygląd przycisków np. 'ok' 'cancel' 'anuluj'.Narazie nie będziemy poznawać jak wykonąć przyciski o innych stylach
ALLEGRO_MESSAGEBOX_WARNJest to rodzaj ikony która wyświetla się w oknie. Dla 'WARN' będzie to '!' na żółtym tle w trójkątnej obudownie. Są jeszcze inne ikony takie jak
Ikona: znak zapytania na niebieskim tle w okrągłej obudowie
ALLEGRO_MESSAGEBOX_ERRORIkona: znak 'X' na czerwonym tle w okrągłej obudowie
Jest to wybór jakie przyciski mają się pojawić w oknie. W tym przypadku będą to 'OK' i 'ANULUJ'.
ALLEGRO_MESSAGEBOX_YES_NOTu pojawiają się przyciski 'TAK' i 'NIE'.
Jak pewnie zauważyliście w funkcji parametry 'ALLEGRO_MESSAGEBOX_WARN' i parametr '...OK_CANCEL' są oddzielone '|'. Jest możliwość że można użyć tylko jednego parametru 'WARN, QUESTION, ERROR, YES_NO, OK_CANCEL' obojętnie jeden z nich. Domyślny parametr ikony to znak 'i' na niebieskim tle w okrągłej obudowie. Jest on domyślny czyli wtedy gdy podamy '...YES_NO' lub '...OK_CANCEL'. Domyślnym przyciskiem jest sam przycisk 'OK'.
Jest fajna opjca że jeśli wpiszemy tam 'NULL' zamiast parametrów które podałem wyżej otrzymamy okno z okona 'i' czyli informacyja z przyciskiem 'OK' czasem może się bardziej przydać niż wpisanie tam parametrów
Ten kawałek kodu nie jest nam tak naprawde potrzebny. Służy on do poinformowania użytkownika wyskakującym okienkiem o tym iż coś poszło nie tak z przypisaniem do zmiennej 'display' która nie ma w sobie stworzonego okna aplikacji.
Polecenie to powoduje że program zatrzyma się na określoną w nawiasie ilośc sekund. W tym przypadku będą to dwie sekundy '(2.0)'.
Wiersz ten niszczy okno o nazwie 'display'. Tłumacząc inaczej czyści zmienną 'display' uwalnia ją z pamięci ram.