Visual_Basic_i_DirectX_Programowanie_gier_w_Windows_vbdirx.pdf

(477 KB) Pobierz
IDZ DO
PRZYK£ADOW Y ROZDZIA£
Visual Basic i DirectX.
SPIS TRECI
Programowanie gier
KATALOG KSI¥¯EK
w Windows
Autor: Wayne S. Freeze
T³umaczenie: Jaros³aw Dobrzañski
ISBN: 83-7197-806-5
Visual Basic and DirectX
Format: B5, stron: 410
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
DODAJ DO KOSZYKA
Ksi¹¿ka opisuje krok po kroku tworzenie gry symulacyjnej rozgrywaj¹cej siê w czasie
rzeczywistym, podobnej do s³ynnej gry SimCity. Gra wykorzystuje Direct3D do
wywietlania grafiki trójwymiarowej oraz DirectInput do komunikacji z u¿ytkownikiem.
Opisane zosta³y interfejsy DirectSound i DirectMusic w stopniu umo¿liwiaj¹cym u¿ycie
efektów dwiêkowych i muzyki w grze. Nauczysz siê wiêc tworzenia w pe³ni
trójwymiarowej grafiki a tak¿e odtwarzania plików dwiêkowych w formacie MP3.
Ksi¹¿ka przeznaczona jest dla osób, które ju¿ programowa³y w Visual Basicu.
W ksi¹¿ce opisano:
Wywietlanie grafiki 3D za pomoc¹ Direct3D
Sterowanie obrazem: obracanie, przybli¿anie i przewijanie
Tworzenie animowanych postaci
Operowanie czasem w symulacjach
Odtwarzanie muzyki i efektów dwiêkowych przy u¿yciu DirectAudio
Interakcje u¿ytkownik — program za pomoc¹ DirectInput
Syntezê mowy przy u¿yciu interfejsu Microsoft Speech API
Przygotowywanie grafiki 2D i 3D oraz plików dwiêkowych na potrzeby gry
Autor, Wayne S. Freeze, jest programist¹ z 25 letnim dowiadczeniem i autorem
licznych publikacji na tematy zwi¹zane z jêzykiem Visual Basic, baz¹ danych Microsoft
SQL Server i technologi¹ ASP.
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
O NOWOCIACH
ZAMÓW CENNIK
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
990170188.017.png 990170188.018.png 990170188.019.png 990170188.020.png 990170188.001.png 990170188.002.png 990170188.003.png 990170188.004.png 990170188.005.png 990170188.006.png 990170188.007.png 990170188.008.png 990170188.009.png 990170188.010.png 990170188.011.png 990170188.012.png 990170188.013.png 990170188.014.png 990170188.015.png 990170188.016.png
 
Spis treci
O Autorze........................................................................................13
Wstp .............................................................................................15
Tworzenie gry komputerowej ...........................................................................................16
Rodzaje gier ................................................................................................................16
Visual Basic ................................................................................................................17
DirectX........................................................................................................................18
Gra „Podwodne zakupy”.............................................................................................18
Wyzwanie dla czytelnika ..................................................................................................19
Dla kogo jest ta ksi'(ka.....................................................................................................19
Wymagania sprz)towe ......................................................................................................20
Co zawiera ksi'(ka............................................................................................................21
Czego ksi'(ka nie zawiera ................................................................................................21
Konwencje stosowane w ksi'(ce ......................................................................................22
Pytania i komentarze.........................................................................................................22
Pozostałe zasoby ...............................................................................................................23
Cz I Zanurzenie si w gr ......................................................25
Rozdział 1. Od pomysłu do gry...........................................................................27
Projektowanie gry .............................................................................................................27
Projekt gry „Podwodne zakupy”.......................................................................................28
Idea..............................................................................................................................28
Fabuła..........................................................................................................................29
Mo(liwo4ci gry ...........................................................................................................30
Obiekty w grze............................................................................................................30
Interakcja z u(ytkownikiem........................................................................................31
Aspekty kontrolowane przez symulacj) .....................................................................33
Zmienne w grze...........................................................................................................34
Tajne kody ..................................................................................................................34
Niespodzianki .............................................................................................................35
Podsumowanie ..................................................................................................................35
Rozdział 2. Wprowadzenie do DirectX................................................................37
Czym jest DirectX?...........................................................................................................38
Dlaczego DirectX?......................................................................................................38
Usługi DirectX............................................................................................................39
Grafika 3D.........................................................................................................................40
Układ współrz)dnych dwuwymiarowych...................................................................40
Układ współrz)dnych trójwymiarowych....................................................................41
6
Visual Basic i DirectX. Programowanie gier w Windows
@wiat zbudowany z trójk'tów.....................................................................................42
Kre4lenie wielu trójk'tów...........................................................................................43
Kolory .........................................................................................................................44
O4wietlenie i punkty widzenia....................................................................................44
Jestem sobie czajniczkiem ................................................................................................45
Instalacja DirectX .......................................................................................................46
Uruchamianie programu .............................................................................................47
Inicjalizacja obiektów DirectX ...................................................................................48
Inicjalizacja Direct3D.................................................................................................51
Ustawianie 4wiateł ......................................................................................................54
Tworzenie obiektu 3D.................................................................................................56
Wy4wietlanie grafiki...................................................................................................56
Renderowanie pojedynczego kadru............................................................................57
Podsumowanie ..................................................................................................................59
Rozdział 3. Tworzenie grafiki 3D........................................................................61
Wprowadzenie do programu trueSpace ............................................................................61
Wprowadzenie do programów Photoshop i Illustrator .....................................................62
Tworzenie grafiki 3D ........................................................................................................63
Podstawowe poj)cia....................................................................................................63
Korzystanie z trueSpace..............................................................................................64
Narz)dzia trueSpace....................................................................................................65
Tworzenie centrum handlowego.......................................................................................66
Projektowanie wn)trza................................................................................................66
Konstruowanie pustego wn)trza.................................................................................67
Podsumowanie ..................................................................................................................80
Rozdział 4. Grafika dwuwymiarowa w 'wiecie 3D...............................................81
Tworzenie grafiki dwuwymiarowej ..................................................................................81
Przetwarzanie obrazu w Photoshopie................................................................................82
Wprowadzenie do Photoshopa....................................................................................82
Edycja obrazów...........................................................................................................84
Korzystanie z warstw..................................................................................................86
Wycinanie fragmentów obrazu...................................................................................88
Filtry i pozostałe funkcje ............................................................................................89
Tworzenie sklepu ..............................................................................................................90
Tworzenie prostej tekstury w Photoshopie.................................................................91
Tworzenie zło(onej tekstury w Photoshopie ..............................................................93
Tworzenie pustego sklepu w trueSpace......................................................................95
Podsumowanie ..................................................................................................................98
Rozdział 5. Wczytywanie danych gry..................................................................99
Szczegóły projektowe .......................................................................................................99
Dane na dysku.............................................................................................................99
Format pliku inicjalizacyjnego .................................................................................101
Dane w pami)ci.........................................................................................................103
Wczytywanie zapisanej gry.............................................................................................103
Klasa Game...............................................................................................................103
Korzystanie z klasy Game ........................................................................................104
Zmienne na poziomie modułu w klasie Game..........................................................105
Metoda LoadGame....................................................................................................106
Czerpanie danych z pliku z zapisan' gr'..................................................................107
Odczyt danych za pomoc' klasy SwimFile ..............................................................110
Wczytywanie informacji o centrum handlowym i sklepach.....................................112
Tworzenie sklepów i pozostałych elementów centrum handlowego........................113
Spis treci
7
Wła4ciwo4ci supermarketu .......................................................................................117
Zarz'dzanie kolekcjami obiektów Anchors..............................................................117
Podsumowanie ................................................................................................................119
Rozdział 6. Wy'wietlanie grafiki 3D .................................................................121
Inicjalizacja grafiki..........................................................................................................121
Ładowanie centrum handlowego ....................................................................................122
Inicjalizacja DirectX.................................................................................................123
Ładowanie obiektu 3D do pami)ci ...........................................................................125
Wy4wietlanie informacji graficznych .............................................................................127
Renderowanie centrum handlowego...............................................................................128
Główna p)tla programu.............................................................................................128
Renderowanie grafiki Direct3D................................................................................129
Wy4wietlanie tekstu na ekranie ................................................................................134
Wybieranie obiektów za pomoc' klasy DXGraphics .....................................................136
Wykrywanie klikni)cia.............................................................................................136
Szukanie wybranego obiektu 3D ..............................................................................137
Sprawdzanie pojedynczego obiektu..........................................................................137
Uruchamianie programu..................................................................................................139
Podsumowanie ................................................................................................................140
Cz II Symulowanie rzeczywistoci .........................................141
Rozdział 7. Liczby losowe nie s. losowe...........................................................143
Definicja liczby losowej..................................................................................................143
Liczby losowe w komputerach........................................................................................144
Generowanie liczb losowych ..........................................................................................145
Liczby losowe a Visual Basic .........................................................................................147
Randomize i Rnd.......................................................................................................147
Generowanie liczb losowych za pomoc' Rnd ..........................................................147
Rzut ko4Fmi ..............................................................................................................149
Zakresy liczb losowych...................................................................................................151
Skalowanie warto4ci losowych ci'głych ..................................................................152
Generowanie warto4ci losowych skokowych...........................................................153
Rozkład warto4ci losowych.............................................................................................153
Rozkład równomierny...............................................................................................153
Rozkład nierównomierny..........................................................................................154
Generowanie skokowych warto4ci losowych o rozkładzie nierównomiernym........154
Generowanie ci'głych warto4ci losowych o rozkładzie nierównomiernym.............156
Generowanie nierównomiernie rozło(onych liczb losowych...................................157
Podsumowanie ................................................................................................................159
Rozdział 8. Symulowanie rzeczywisto'ci...........................................................161
Komputerowe symulacje.................................................................................................161
Symulacje i modele...................................................................................................162
Typy symulacji..........................................................................................................162
Elementy modelu symulacyjnego ...................................................................................163
Klienci, serwery, kolejki...........................................................................................163
Czas oczekiwania i obsługi.......................................................................................164
Cz)stotliwo4F odwiedzin ..........................................................................................164
Systemy wielu serwerów i kolejek ...........................................................................165
Zło(one symulacje ....................................................................................................165
Inne warianty kolejek................................................................................................166
8
Visual Basic i DirectX. Programowanie gier w Windows
Zegar symulacji...............................................................................................................167
Zegar post)puj'cy.....................................................................................................167
Zegar wyzwalany zdarzeniami .................................................................................168
Statystyki symulacji ........................................................................................................169
Programowanie symulacji...............................................................................................169
Generatory liczb losowych .......................................................................................170
Kolejki.......................................................................................................................170
Klienci jako obiekty person ......................................................................................172
Restauracja Kelp-Fil-A jako obiekt store .................................................................172
Uruchamianie symulacji ...........................................................................................173
Inicjalizacja symulacji ..............................................................................................173
Sekunda w symulacji ................................................................................................175
Tworzenie klienta......................................................................................................176
Od4wie(anie głównego zegara..................................................................................177
Wy4wietlanie statystyk .............................................................................................177
Uruchomienie symulacji taktowanej zegarem..........................................................178
Podsumowanie ................................................................................................................179
Rozdział 9. Symulacja centrum handlowego .....................................................181
Istota symulacji ...............................................................................................................181
Budowanie szkieletu symulacji.......................................................................................182
Uruchamianie symulacji ...........................................................................................182
Kroki symulacji.........................................................................................................183
Kroki w centrum handlowym ...................................................................................185
Sterowanie pr)dko4ci' symulacji..............................................................................187
Osiedla i konkurencja......................................................................................................188
Budowanie osiedla....................................................................................................188
Tworzenie konkurencji .............................................................................................190
Inicjalizacja symulacji.....................................................................................................191
Kluczowe wskaIniki centrum handlowego ..............................................................191
Wczytywanie godzin otwarcia..................................................................................192
Monitorowanie centrum handlowego..............................................................................193
Podsumowanie ................................................................................................................198
Rozdział 10. Symulacja klientów........................................................................201
Klasa Customer ...............................................................................................................201
Potrzeby klienta ........................................................................................................202
Potrzeby gastronomiczne..........................................................................................204
Zliczanie potrzeb.......................................................................................................204
Kiedy pojawi' si) klienci?........................................................................................205
Tworzenie klientów ..................................................................................................207
Wybór najlepszego centrum............................................................................................209
Kolejki priorytetowe .......................................................................................................211
Przebudowa kolejki...................................................................................................212
Dodawanie elementów do kolejki.............................................................................212
Symulowanie klienta w centrum.....................................................................................214
Projektowanie automatu skoJczonego......................................................................214
Implementacja automatu skoJczonego.....................................................................215
Podsumowanie ................................................................................................................217
Rozdział 11. Symulacja sklepów i pienidzy .......................................................219
Sklepy a potrzeby............................................................................................................219
Przechowywanie informacji o sklepie.............................................................................220
Zgłoś jeśli naruszono regulamin