Witaj w trzeciej części mojego tutoriala na temat pisania gier w bibliotece Allegro. Jeśli czytałeś dwie poprzednie części
powinieneś wiedzieć między innymi... jak wczytać bitmapę do pamięci komputera, jak narysować coś na ekranie, jak
odtworzyć dżwięk oraz jak wczytywać klawisze. W tej części omówię jak obsługiwać myszkę oraz operacje na plikach .dat.
Myszka
Ciekawe jak grało by się w Counter Strike'a bez myszki :P Byłoby trochę trudno. Teraz opowiem trochę
o obsłudze myszki w Allegro.
Kursor na ekranie
Źeby zacząć zabawę z myszką musimy zainstalować ją w naszym programie i pokazać na ekranie kursor.
To bardzo proste. To jest kod programu który po prostu pokaźe na ekranie kursor: http://nopaste.gamedev.pl/?id=2281
Pozycja myszki i jej klawisze
Świetnie, myszka jest na ekranie. Teraz trzeba tylko wczytać jej pozycje i sprawdzić czy któryś klawisz
jest wciśnięty. To bardzo proste. Za pozycje myszki w allegro odpowiadają dwie zmienne
mouse_x (poziom)
i
mouse_y (pion). Jest jeszcze
mouse_b która odpowiada za przycisk na myszce (1 - lewy przycisk, 2 - prawy).
Teraz czas na kod który wyświetli na ekranie pozycje myszy i stan jej klawiszy: http://nopaste.gamedev.pl/?id=2282
Widzisz jakie to proste? :)
Własny kursor myszy
Gry wyglądały by głupio gdyby moźna było uźywać jedynie domyślnego windowsowego kursora.
Na szczęście allegro teź ma funkcje ustawiającą kursor:
Kod
set_mouse_sprite(bitmapa);
Funkcja ta przyjmuje tylko jeden parametr, jest nim bitmapa która ma być ustawiona jako kursor.
I to chyba wszystko na temat myszki :)
[big]Pliki .dat[/big]
A teraz coś fajnego! Pliki .dat! Tylko co to jest i po co nam to? Pewnie zastanawiałeś się kiedyś
jak twórcy gier ukrywają przed zwykłym uźytkownikiem moźliwość edytowania tekstur. Ty pewnie teź
byś chciał tak umieć :) Zaraz będziesz umiał. Potrzebujemy tylko specjalnego programu o nazwie
Grabber.
Grabber
Jeśli uźywasz Dev-C++ to program Grabber powinieneś mieć juź wgrany na komputerze. W Windows XP Wejdż w
Start->Wszystkie Programy->Bloodshed Dev-C++->Allegro->Grabber. Jeśli jednak uźywasz Visual Studio
musisz sobie go skądś wytrzasnąć. Specjalnie na potrzeby tego tutka zahostowałem go tutaj: http://odsiebie.com/pokaz/328536---8428.html.
Na pierwszy rzut oka program wygląda brzydko :P Ale wygląd się nie liczy waźne co ten program robi.
Teraz pokaźę jak umieścić w pliku .dat tego sprajta:
1. Uruchom Grabber
2. Kliknij prawym przyciskiem myszy na
3. Kliknij
New
4. Wybierz
Bitmap
5. Wprowadzamy nazwę naszej bitmapy. Ja wpisałem "Sprajt"
6. Teraz klikamy prawym przyciskiem myszy na nowo powstałą opcję na liście plików
7. Naciskamy "Grab".
8. Podajemy ścieźkę do pliku ze sprajtem na dysku
9. Teraz popatrz na górną część programu (pod menu). W polu "Header" wpisz na przykład "datafile.h"
10. Zapisujemy plik w dowolnym miejscu poprzez
File->Save i naciskamy ENTER
11. Zamykamy Grabber
Teraz przejdż do folderu w którym zapisałeś plik. Są tam dwa pliki (.dat i .h). W pliku .dat przechowywane
są nasze zasoby a plik .h to zwykły nagłówek wygenerowany przez program grabber. Jest on niezbędny gdy będziemy
chcieli skorzystać z pliku .dat w naszych aplikacjach.
Korzystamy z naszego pliku
Korzystanie z wygenerowanego pliku jest banalne. Wystarczy dolinkować plik .h i wczytać z pliku .dat zasoby.
Teraz oczywiście kod: http://nopaste.gamedev.pl/?id=2285
Koniec!
To juź koniec trzeciej części. Będzie jeszcze jedna ostatnia w której omówię animacje i timery.
Ale... jeśli myślisz, źe się mnie pozbędziesz to się mylisz. Napiszę jeszcze kilka tutoriali na temat pisania gier.
Między innymi jak odtwarzać pliki .mp3? Ale to potem. Pozdrawiam i czytajcie dalej moje artykuły! :)