tworzenie aplikacji dla windows. od prostych programów do gier komputerowych ebook, ebooki
[ Pobierz całość w formacie PDF ] 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. Podstawy obsługi biblioteki OpenGL .............................................................. 275 11.2. Prymitywy OpenGL ......................................................................................... 284 11.3. 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 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
[ Pobierz całość w formacie PDF ]
zanotowane.pldoc.pisz.plpdf.pisz.plmement.xlx.pl
|