Tworzenie aplikacji dla Windows Od prostych programow do gier komputerowych.pdf
(
539 KB
)
Pobierz
Tworzenie aplikacji
dla Windows.
Od prostych programów
do gier komputerowych
Autor: Pawe³ Borkowski
ISBN: 978-83-246-1881-1
Format: 158x235, stron: 456
Poznaj tajniki tworzenia aplikacji dla Windows
•
Jak okreœliæ po³o¿enie, rozmiar i styl okna?
•
Jak tworzyæ w¹tki aplikacji za pomoc¹ funkcji CreateThread?
•
Jak definiowaæ biblioteki?
Dev-C++ to zintegrowane œrodowisko programistyczne, którego niew¹tpliwym atutem
s¹ tzw. DevPaki, czyli rozszerzenia programu, pozwalaj¹ce korzystaæ z ró¿nych
bibliotek, szablonów i narzêdzi. Œrodowisko Dev-C++ wspomaga tak¿e pracê
nad nowym projektem Windows — gotowym kodem tworz¹cym okno z obs³ug¹
podstawowych komunikatów. Wszystko to sprawia, ¿e mamy do czynienia z wygodnym
i funkcjonalnym œrodowiskiem, zarówno dla pocz¹tkuj¹cych, jak i zaawansowanych
programistów.
Z ksi¹¿ki „Tworzenie aplikacji dla Windows. Od prostych programów do gier
komputerowych” mo¿e skorzystaæ ka¿dy, kto chce nauczyæ siê programowania:
zarówno studenci kierunków informatycznych, jak i osoby, które nie maj¹ takiego
przygotowania. Podrêcznik kolejno ods³ania poszczególne elementy wiedzy
programistycznej — od najprostszych po najbardziej zaawansowane. Dowiesz siê wiêc,
jak wprowadzaæ niewielkie zmiany w kodzie, jak projektowaæ aplikacje wielow¹tkowe
i definiowaæ biblioteki, jak budowaæ du¿e, sk³adaj¹ce siê z kilku plików projekty, aby
na koniec samodzielnie stworzyæ grê komputerow¹.
•
Instalacja œrodowiska Dev-C++
•
Tworzenie narzêdzia pióro
•
Obs³uga map bitowych
•
Obs³uga komunikatów myszy i klawiatury
•
Obiekty steruj¹ce w oknie
•
Menu i plik zasobów
•
Projektowanie aplikacji wielow¹tkowych
•
Biblioteki statyczne i dynamiczne
•
Multimedia
•
Programowanie gier
Naucz siê programowania i twórz w³asne gry!
Spis treści
Wstęp .............................................................................................. 7
Część I
Dla początkujących ........................................................ 9
Rozdział 1. Instalacja
środowiska
Dev-C++ ....................................................... 11
Rozdział 2. Pierwszy program ........................................................................... 13
2.1.
2.2.
2.3.
2.4.
2.5.
2.6.
3.1.
3.2.
3.3.
3.4.
3.5.
3.6.
3.7.
3.8.
4.1.
4.2.
4.3.
4.4.
4.5.
5.1.
5.2.
5.3.
Przygotowanie edytora ....................................................................................... 13
Kod wygenerowany przez Dev-C++ .................................................................. 15
Określanie tytułu okna ....................................................................................... 19
Określanie położenia i rozmiaru okna ................................................................ 19
Określanie stylu okna ......................................................................................... 21
Ćwiczenia
........................................................................................................... 22
Obsługa komunikatu WM_PAINT .................................................................... 23
Zestawienie funkcji graficznych. Program
z użyciem funkcji Ellipse i LineTo .................................................................... 25
Wyświetlanie tekstu w obszarze roboczym okna ............................................... 28
Pierwszy program z użyciem funkcji SetPixel — wykres funkcji sinus ............ 34
Tworzenie pióra ................................................................................................. 39
Drugi program z użyciem funkcji SetPixel — zbiór Mandelbrota ..................... 42
Trzeci program z użyciem funkcji SetPixel — prosta obsługa bitmap ............... 48
Ćwiczenia
........................................................................................................... 55
Program z obsługą komunikatu WM_MOUSEMOVE ...................................... 57
Obsługa komunikatów WM_LBUTTONDOWN
i WM_RBUTTONDOWN — zbiór Mandelbrota po raz drugi .......................... 62
Obsługa komunikatów WM_MOUSEMOVE, WM_LBUTTONDOWN
i WM_RBUTTONDOWN — zbiór Mandelbrota a zbiory Julii ........................ 66
Tajemnica przycisków okna ............................................................................... 75
Ćwiczenia
........................................................................................................... 86
Komunikaty klawiatury. Obsługa komunikatu WM_CHAR .............................. 87
Obsługa komunikatu WM_KEYDOWN. Diagram Feigenbauma ...................... 90
Ćwiczenia
......................................................................................................... 101
Rozdział 3. Rysowanie w oknie ........................................................................ 23
Rozdział 4. Obsługa komunikatów myszy .......................................................... 57
Rozdział 5. Obsługa komunikatów klawiatury .................................................... 87
4
Tworzenie aplikacji dla Windows. Od prostych programów do gier komputerowych
Rozdział 6. Obiekty sterujące w oknie ............................................................ 103
6.1.
6.2.
6.3.
6.4.
Obiekt klasy BUTTON .................................................................................... 103
Obsługa grafiki za pomocą obiektów klasy BUTTON ..................................... 109
Obiekt klasy edycji. Automaty komórkowe ..................................................... 116
Ćwiczenia
......................................................................................................... 128
Rozdział 7. Menu i plik zasobów ..................................................................... 131
7.1.
Dodanie menu do okna ..................................................................................... 131
7.2.
Obsługa bitmapy z pliku zasobów .................................................................... 138
7.3.
Odczytywanie danych z pliku. Edytor bitmap .................................................. 143
7.4.
Kopiarka wielokrotnie redukująca ................................................................... 154
7.5.
Ćwiczenia
......................................................................................................... 169
Podsumowanie części I ................................................................................................. 169
Część II
Dla
średniozaawansowanych
....................................... 171
8.1.
8.2.
8.3.
8.4.
9.1.
9.2.
9.3.
9.4.
9.5.
Tworzenie wątków za pomocą funkcji CreateThread ...................................... 173
Czy praca z wątkami przyspiesza działanie aplikacji?
Sekcja krytyczna i priorytety wątków .............................................................. 178
Wstrzymywanie pracy i usuwanie wątków ...................................................... 190
Ćwiczenia
......................................................................................................... 199
Biblioteki statyczne .......................................................................................... 201
Biblioteki dynamiczne — podejście strukturalne ............................................. 207
Biblioteki dynamiczne — podejście obiektowe ............................................... 220
Własny temat okna ........................................................................................... 225
Ćwiczenia
......................................................................................................... 254
Rozdział 8. Projektowanie aplikacji wielowątkowych ....................................... 173
Rozdział 9. Definiowanie bibliotek .................................................................. 201
Rozdział 10. Multimedia .................................................................................. 255
10.1. Odtwarzanie plików wav — funkcja sndPlaySound ........................................ 255
10.2. Odtwarzanie plików mp3 — biblioteka FMOD ............................................... 258
10.3.
Ćwiczenia
......................................................................................................... 269
Podsumowanie części II ............................................................................................... 270
Część III Dla zaawansowanych .................................................. 273
Rozdział 11. Programowanie gier z użyciem biblioteki OpenGL .......................... 275
11.1.
11.2.
11.3.
Podstawy obsługi biblioteki OpenGL .............................................................. 275
Prymitywy OpenGL ......................................................................................... 284
Bufor głębokości, perspektywa
— wzorzec kodu do programowania gier (pierwsze starcie) ............................ 298
11.4. Animacja .......................................................................................................... 309
11.5. Poruszanie się po scenie, funkcja gluLookAt
i wzorzec kodu do programowania gier (starcie drugie, decydujące) ............... 320
11.6. Tekstury i mipmapy ......................................................................................... 334
11.7. Listy wyświetlania i optymalizacja kodu ......................................................... 349
11.8. Detekcja kolizji ................................................................................................ 361
11.9.
Światło,
mgła, przezroczystość i inne efekty specjalne ....................................... 368
Uruchamianie gry w trybie pełnoekranowym .................................................. 368
Mgła ................................................................................................................. 371
Przezroczystość ................................................................................................ 374
Światło
............................................................................................................. 384
Spis treści
11.10.
11.11.
11.12.
11.13.
11.14.
5
Jak ustawić stałą prędkość działania programu? .............................................. 390
Gotowe obiekty OpenGL ................................................................................. 398
Fonty ................................................................................................................ 406
Dźwięk na scenie ............................................................................................. 416
Budujemy grę! ................................................................................................. 419
Wprowadzenie i charakter gry ......................................................................... 419
Dane gracza ...................................................................................................... 420
Strzał z broni .................................................................................................... 423
Pozostali bohaterowie gry ................................................................................ 425
Odnawianie zasobów gracza ............................................................................ 428
Zakończenie programu (gry) ............................................................................ 430
Podsumowanie części III .............................................................................................. 433
Dodatki ..................................................................................... 435
Dodatek A ................................................................................... 437
Dodatek B ................................................................................... 439
Skorowidz .................................................................................... 441
Rozdziaä 8.
i
Projektowanie aplikacji wielowñtkowych
173
Rozdziaä 8.
Projektowanie aplikacji
wielowñtkowych
8.1. Tworzenie wñtków za pomocñ
funkcji CreateThread
Jeste my przyzwyczajeni do tego, e w systemie Windows mo emy pracowaü na wielu
oknach jednocze nie. Jak du e jest to udogodnienie, nie trzeba nikogo przekonywaü.
T cech systemu nazywamy wielozadaniowo ci . Jej najpo yteczniejszym zastosowa-
niem jest mo liwo ü ukrycia przed pracodawc pod stosem otwartych okien jednego
okienka z uruchomion ulubion gr . System Windows pozwala tak e na co wi cej —
na wielow tkowo ü, czyli wykonywanie wielu zada równocze nie w ramach dziaáania
jednego programu. Oczywi cie, poj cia pracy równoczesnej nie nale y traktowaü zbyt
dosáownie. System dzieli czas pracy procesora i przyznaje po kolei pewn jego cz ü
w celu obsáugi kolejnego w tku. Poniewa wspomniany proces wykonywany jest bardzo
szybko, powstaje iluzja równolegáego dziaáania w tków.
W tek tworzymy za pomoc funkcji
CreateThread
o nast puj cej skáadni:
HANDLE CreateThread(LPSECURITY_ATTRIBUTES atrybuty_watku,
DWORD rozmiar_stosu,
LPTHREAD_START_ROUTINE adres_funkcji_watku,
LPVOID parametr,
DWORD flaga_watku,
LPDWORD identyfikator
);
Pierwszy argument
atrybuty_watku
miaá zastosowanie w systemie Windows NT. Od tego
czasu nie wykorzystuje si go i mo emy w jego miejsce wpisaü
NULL
. Drugi argument
okre la rozmiar stosu w bajtach. Je eli nie mamy pomysáu dotycz cego jego wielko ci,
wpiszmy zero, co oznacza zadeklarowanie stosu standardowego rozmiaru. W parametrze
Plik z chomika:
PDFator
Inne pliki z tego folderu:
Fizyka dla programistow gier.pdf
(1094 KB)
HTML5 Tworzenie gier z wykorzystaniem CSS i JavaScript.pdf
(997 KB)
Perelki programowania gier Vademecum profesjonalisty Tom 1.pdf
(293 KB)
Perelki programowania gier Vademecum profesjonalisty Tom 2.pdf
(518 KB)
Perelki programowania gier Vademecum profesjonalisty Tom 3.pdf
(561 KB)
Inne foldery tego chomika:
3ds max
50 zadań i zagadek szachowych
Access
Acrobat
Administracja
Zgłoś jeśli
naruszono regulamin