Tworzenie aplikacji dla Windows Od prostych programow do gier komputerowych.pdf
(
545 KB
)
Pobierz
Tworzenie aplikacji dla Windows. Od prostych programów do gier komputerowych
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. Przygotowanie edytora ....................................................................................... 13
2.2. Kod wygenerowany przez Dev-C++ .................................................................. 15
2.3. Określanie tytułu okna ....................................................................................... 19
2.4. Określanie położenia i rozmiaru okna ................................................................ 19
2.5. Określanie stylu okna ......................................................................................... 21
2.6. Ćwiczenia ........................................................................................................... 22
Rozdział 3. Rysowanie w oknie ........................................................................ 23
3.1. Obsługa komunikatu WM_PAINT .................................................................... 23
3.2. Zestawienie funkcji graficznych. Program
z użyciem funkcji Ellipse i LineTo .................................................................... 25
3.3. Wyświetlanie tekstu w obszarze roboczym okna ............................................... 28
3.4. Pierwszy program z użyciem funkcji SetPixel — wykres funkcji sinus ............ 34
3.5. Tworzenie pióra ................................................................................................. 39
3.6. Drugi program z użyciem funkcji SetPixel — zbiór Mandelbrota ..................... 42
3.7. Trzeci program z użyciem funkcji SetPixel — prosta obsługa bitmap ............... 48
3.8. Ćwiczenia ........................................................................................................... 55
Rozdział 4. Obsługa komunikatów myszy .......................................................... 57
4.1. Program z obsługą komunikatu WM_MOUSEMOVE ...................................... 57
4.2. Obsługa komunikatów WM_LBUTTONDOWN
i WM_RBUTTONDOWN — zbiór Mandelbrota po raz drugi .......................... 62
4.3. Obsługa komunikatów WM_MOUSEMOVE, WM_LBUTTONDOWN
i WM_RBUTTONDOWN — zbiór Mandelbrota a zbiory Julii ........................ 66
4.4. Tajemnica przycisków okna ............................................................................... 75
4.5. Ćwiczenia ........................................................................................................... 86
Rozdział 5. Obsługa komunikatów klawiatury .................................................... 87
5.1. Komunikaty klawiatury. Obsługa komunikatu WM_CHAR .............................. 87
5.2. Obsługa komunikatu WM_KEYDOWN. Diagram Feigenbauma ...................... 90
5.3. Ćwiczenia ......................................................................................................... 101
4
Tworzenie aplikacji dla Windows. Od prostych programów do gier komputerowych
Rozdział 6. Obiekty sterujące w oknie ............................................................ 103
6.1. Obiekt klasy BUTTON .................................................................................... 103
6.2. Obsługa grafiki za pomocą obiektów klasy BUTTON ..................................... 109
6.3. Obiekt klasy edycji. Automaty komórkowe ..................................................... 116
6.4. Ć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
Rozdział 8. Projektowanie aplikacji wielowątkowych ....................................... 173
8.1. Tworzenie wątków za pomocą funkcji CreateThread ...................................... 173
8.2. Czy praca z wątkami przyspiesza działanie aplikacji?
Sekcja krytyczna i priorytety wątków .............................................................. 178
8.3. Wstrzymywanie pracy i usuwanie wątków ...................................................... 190
8.4. Ćwiczenia ......................................................................................................... 199
Rozdział 9. Definiowanie bibliotek .................................................................. 201
9.1. Biblioteki statyczne .......................................................................................... 201
9.2. Biblioteki dynamiczne — podejście strukturalne ............................................. 207
9.3. Biblioteki dynamiczne — podejście obiektowe ............................................... 220
9.4. Własny temat okna ........................................................................................... 225
9.5. Ćwiczenia ......................................................................................................... 254
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. Podstawyobsługi biblioteki OpenGL .............................................................. 275
11.2. PrymitywyOpenGL......................................................................................... 284
11.3. Buforgłębokości, perspektywa
— wzorzec kodu do programowania gier (pierwsze starcie) ............................ 298
11.4. Animacja .......................................................................................................... 309
11.5. Poruszaniesię po scenie, funkcja gluLookAt
i wzorzec kodu do programowania gier (starcie drugie, decydujące) ............... 320
11.6. Teksturyi mipmapy ......................................................................................... 334
11.7. Listywyś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
5
11.10. Jak ustawić stałą prędkość działania programu? .............................................. 390
11.11. Gotowe obiekty OpenGL ................................................................................. 398
11.12. Fonty ................................................................................................................ 406
11.13. Dźwięk na scenie ............................................................................................. 416
11.14. 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.
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:
bomaszko
Inne pliki z tego folderu:
Microsoft_Press_eBook_Programming_Windows_8_Apps_with_HTML_CSS_and_JavaScript_PDF.pdf
(18385 KB)
Microsoft_Press_eBook_Xamarin_Preview_2_PDF.pdf
(13662 KB)
Microsoft_Press_ebook_Introducing_Windows_Server_2012_R2_PDF (1).pdf
(11475 KB)
Microsoft_Press_ebook_Introducing_Windows_Server_2012_R2_PDF.pdf
(11475 KB)
Microsoft_Press_ebook_Introducing_Windows_ITPro_PDF.pdf
(9529 KB)
Inne foldery tego chomika:
_ Basic _ QBasic ---
_ DOS _---
_ EDYTORY - IDE - GUI
_ EMULATORY - interpretery
_Biblioteki
Zgłoś jeśli
naruszono regulamin