java. tworzenie gier full version.pdf
(
17643 KB
)
Pobierz
6
Java. Tworzenie gier
Rysunki przyspieszane sprztowo ..............................................................................56
Program testujcy wydajno,/ rysowania rysunków ...................................................58
Animacja.....................................................................................................................61
Renderowanie aktywne...............................................................................................64
Ptla animacji..............................................................................................................64
Usuwanie migotania i szarpania........................................................................................67
Podwójne buforowanie ...............................................................................................67
Przełczanie stron .......................................................................................................68
Od,wie'anie monitora i szarpanie ..............................................................................70
Klasa BufferStrategy...................................................................................................70
Tworzenie zarzdcy ekranów .....................................................................................71
Duszki .........................................................................................................................78
Proste efekty......................................................................................................................84
Przekształcenia rysunków...........................................................................................84
Podsumowanie ..................................................................................................................89
Rozdział 3. Interaktywno() i interfejs u*ytkownika ............................................. 91
Model zdarze) AWT.........................................................................................................94
Zdarzenia klawiatury.........................................................................................................95
Zdarzenia myszy ...............................................................................................................99
Przesuwanie myszy metod „rozgldania si”................................................................103
Ukrywanie wskaFnika myszy ...................................................................................107
Tworzenie klasy InputManager.......................................................................................108
Zastosowanie obiektu InputManager ..............................................................................119
Zatrzymywanie gry...................................................................................................119
Dodajemy grawitacj ................................................................................................120
Projektowanie intuicyjnych interfejsów u'ytkownika....................................................125
Wskazówki do projektu interfejsu u'ytkownika.......................................................126
Wykorzystanie komponentów Swing..............................................................................127
Podstawy Swing........................................................................................................127
Stosowanie Swing w trybie pełnoekranowym..........................................................128
Tworzenie prostego menu...............................................................................................130
Konfiguracja klawiatury przez u'ytkownika ..................................................................135
Podsumowanie ................................................................................................................141
Rozdział 4. Efekty d-wikowe oraz muzyka....................................................... 143
Podstawy dFwiku...........................................................................................................144
API Java Sound...............................................................................................................144
Otwieranie pliku dFwikowego ................................................................................145
Zastosowanie interfejsu Line....................................................................................145
Odtwarzanie dFwików...................................................................................................146
Tworzenie architektury filtrów działajcych w czasie rzeczywistym.............................151
Tworzenie filtra „echo”, działajcego w czasie rzeczywistym.......................................155
Emulacja dFwiku 3D .....................................................................................................159
Mechanizmy potrzebne do tworzenia filtra 3D ........................................................160
Implementacja filtra 3D............................................................................................161
Testowanie filtra 3D .................................................................................................163
Tworzenie obiektu zarzdzajcego dFwikiem...............................................................167
Klasa Sound..............................................................................................................167
Klasa SoundManager................................................................................................168
Zmienne lokalne dla wtków....................................................................................175
Odtwarzanie muzyki .......................................................................................................176
Odtwarzanie dFwiku CD.........................................................................................177
Odtwarzanie plików MP3 i Ogg Vorbis ...................................................................177
Spis treci
7
Odtwarzanie muzyki MIDI.......................................................................................178
Tworzenie muzyki adaptacyjnej ...............................................................................182
Podsumowanie ................................................................................................................184
Rozdział 5. Tworzenie dwuwymiarowej gry platformowej ................................... 185
Tworzenie mapy zło'onej z kafelków.............................................................................186
Implementacja mapy korzystajcej z kafelków........................................................187
Ładowanie mapy zło'onej z kafelków......................................................................190
Rysowanie mapy zło'onej z kafelków......................................................................193
Rysowanie duszków..................................................................................................195
Przewijanie z paralaks.............................................................................................195
Premie .......................................................................................................................197
Proste obiekty wrogów .............................................................................................200
Wykrywanie kolizji.........................................................................................................207
Detekcja kolizji.........................................................................................................207
Obsługa kolizji..........................................................................................................208
Kolizje duszków........................................................................................................212
Doko)czenie i przyspieszanie gry...................................................................................213
Tworzenie wykonywalnego pliku .jar.............................................................................213
Pomysły na rozszerzenie gry...........................................................................................215
Podsumowanie ................................................................................................................216
Rozdział 6. Gry wieloosobowe .......................................................................... 217
Rewolucja w bibliotekach wej,cia-wyj,cia w jzyku Java.............................................219
Przegld bibliotek NIO z JDK 1.4............................................................................220
Kanały.......................................................................................................................220
Bufory .......................................................................................................................223
Selektory oraz klasy SelectionKey ...........................................................................226
ChatterBox, prosta aplikacja dla wielu u'ytkowników...................................................227
Serwer: ChatterServer...............................................................................................227
Kompilowanie i uruchamianie serwera ....................................................................233
Klient: ChatterClient.................................................................................................235
Kompilowanie i uruchamianie klienta......................................................................236
Szkielet serwera gry wieloosobowej...............................................................................237
Cele projektu i taktyka..............................................................................................237
Projekt.......................................................................................................................238
Wspólne klasy i interfejsy.........................................................................................242
Implementacja serwera .............................................................................................244
Klient.........................................................................................................................252
Przykładowa gra: RPS (kamie), papier, no'yczki).........................................................253
Klasy .........................................................................................................................253
Uruchamianie gry RPS .............................................................................................256
Wyko)czanie gry: rozbudowa szkieletu .........................................................................258
Interfejs klienta .........................................................................................................258
Trwało,/....................................................................................................................258
Listy znajomych, pokoje i czat .................................................................................258
Administracja serwera.....................................................................................................259
Rejestracja zdarze) ...................................................................................................259
Uruchamianie i wyłczanie.......................................................................................260
Konsole administracyjne serwera .............................................................................261
Nledzenie gry.............................................................................................................261
Zagadnienia zaawansowane............................................................................................262
Rozłczenia i ponowne połczenia...........................................................................262
Tunelowanie HTTP...................................................................................................263
8
Java. Tworzenie gier
Testowanie za pomoc botów...................................................................................265
Te niezno,ne modemy ..............................................................................................266
Profilowanie i tworzenie statystyk wydajno,ci.........................................................266
Dostrajanie wydajno,ci.............................................................................................268
Podsumowanie ................................................................................................................270
Cz II Grafika trójwymiarowa
i zaawansowane techniki programowania gier ...............271
Rozdział 7. Grafika trójwymiarowa ................................................................... 273
Typy renderowania grafiki trójwymiarowej ...................................................................274
Nie zapominajmy o matematyce.....................................................................................275
Trygonometria i trójkty prostoktne .......................................................................276
Wektory.....................................................................................................................276
Podstawy grafiki trójwymiarowej...................................................................................281
Algebra trzech wymiarów...............................................................................................284
Wielokty ........................................................................................................................289
Przekształcenia przestrzeni trójwymiarowej...................................................................292
Rotacje ......................................................................................................................293
Hermetyzacja przekształce) rotacji i translacji.........................................................295
Stosowanie transformacji..........................................................................................298
Porzdek rotacji ........................................................................................................300
Prosty potok tworzenia grafiki 3D ..................................................................................301
Ruch kamery ...................................................................................................................305
Bryły i usuwanie niewidocznych powierzchni................................................................305
Iloczyn skalarny wektorów.......................................................................................307
Iloczyn wektorowy wektorów...................................................................................308
Dodatkowe wła,ciwo,ci iloczynu skalarnego i wektorowego..................................311
Rysowanie wieloktów za pomoc konwertera skanujcego .........................................312
Optymalizowanie konwertera skanujcego za pomoc liczb stałoprzecinkowych ..317
Przycinanie w trzech wymiarach.....................................................................................321
Ostateczny potok renderowania ......................................................................................324
Podsumowanie ................................................................................................................332
Rozdział 8. Mapowanie tekstur i o(wietlenie .................................................... 333
Podstawy mapowania tekstur uwzgldniajcego perspektyw.......................................334
Wyprowadzenie równa) wykorzystywanych do mapowania tekstur.......................335
Prosty mechanizm mapowania tekstur............................................................................340
Wady naszego prostego mechanizmu renderujcego ...............................................347
Optymalizowanie mapowania tekstur.............................................................................348
Przechowywanie tekstur ...........................................................................................349
Prosta optymalizacja.................................................................................................352
Rozwijanie metod w miejscu wywołania .................................................................356
Przykładowy program korzystajcy z szybkiego mapowania tekstur ......................358
Prosty mechanizm generowania o,wietlenia...................................................................359
Odbicie rozproszone .................................................................................................359
Nwiatło otoczenia......................................................................................................360
Uwzgldnianie intensywno,ci ,wiatła pochodzcego ze Fródła ,wiatła ..................360
Spadek intensywno,ci ,wiatła wraz z odległo,ci....................................................360
Implementowanie punktowego Fródła ,wiatła..........................................................361
Implementowanie o,wietlania tekstur.............................................................................362
Tworzenie zaawansowanych trików o,wietleniowych za pomoc map cieniowania.....369
Odnajdywanie prostokta ograniczajcego...............................................................369
Stosowanie mapy cieniowania..................................................................................371
Spis treci
9
Budowanie mapy cieniowania..................................................................................373
Budowanie powierzchni............................................................................................375
Przechowywanie powierzchni w pamici podrcznej ..............................................378
Przykład z cieniowaniem powierzchni .....................................................................384
Dodatkowe pomysły........................................................................................................385
Sugerowanie głbi.....................................................................................................385
Fałszywe cienie.........................................................................................................386
Mapowanie MIP........................................................................................................386
Interpolacja dwuliniowa............................................................................................386
Interpolacja trójliniowa.............................................................................................387
Mapy wektorów normalnych i mapy głboko,ci......................................................387
Inne typy o,wietlenia................................................................................................388
Podsumowanie ................................................................................................................388
Rozdział 9. Obiekty trójwymiarowe................................................................... 389
Usuwanie ukrytych powierzchni.....................................................................................390
Algorytm malarza .....................................................................................................390
Odwrotny algorytm malarza .....................................................................................391
Z-bufor......................................................................................................................391
Z-bufor z warto,ciami 1/z.........................................................................................393
Obliczanie z-głboko,ci............................................................................................396
Animacja trójwymiarowa................................................................................................397
Ruch postpowy........................................................................................................400
Ruch obrotowy..........................................................................................................402
Grupy wieloktów...........................................................................................................407
Iteracyjna obsługa wszystkich wieloktów nale'cych do grupy.............................411
Wczytywanie grup wieloktów z pliku OBJ...................................................................413
Format pliku OBJ......................................................................................................414
Format pliku MTL ....................................................................................................420
Obiekty w grze ................................................................................................................421
Zarzdzanie obiektami w grze.........................................................................................425
Łczenie elementów........................................................................................................427
Mo'liwe rozszerzenia w przyszło,ci...............................................................................433
Podsumowanie ................................................................................................................434
Rozdział 10. Zarzdzanie scen trójwymiarow za pomoc drzew BSP ................ 435
Wprowadzenie do drzew BSP.........................................................................................436
Podstawy drzew binarnych..............................................................................................437
Jednowymiarowe drzewo BSP........................................................................................440
Dwuwymiarowe drzewo BSP .........................................................................................442
Przykład budowy drzewa BSP..................................................................................443
Przykład przegldania drzewa BSP ..........................................................................447
Implementacja dwuwymiarowego drzewa BSP..............................................................448
Linia podziału BSP ...................................................................................................450
Wyznaczanie poło'enia punktu wzgldem linii .......................................................450
Dwójkowy podział wielokta ...................................................................................454
Przegldanie drzewa BSP .........................................................................................455
Przegldanie poprzeczne...........................................................................................457
Przegldanie od przodu do tyłu.................................................................................458
Budowa drzewa.........................................................................................................459
Znajdowanie punktu przecicia dwóch prostych......................................................463
Przycinanie wieloktów do linii................................................................................465
Usuwanie pustych przestrzeni T-złczy....................................................................467
Testowanie drzewa BSP ...........................................................................................469
Plik z chomika:
Rafael666666
Inne pliki z tego folderu:
tomcat. przewodnik encyklopedyczny. wydanie ii ebook.pdf
(26469 KB)
wydajnosc-javy cała książka.pdf
(49501 KB)
sztuka-perswazji,-czyli-jezyk-wplywu-i-manipulacji.-wydanie-ii-rozszerzone pełna wersja.pdf
(10975 KB)
oracle9i. podręcznik administratora baz danych pełna wersja.pdf
(16264 KB)
informatyka europejczyka. zeszyt ćwiczeń dla szkoły podstawowej. część ii cała książka.pdf
(35265 KB)
Inne foldery tego chomika:
- FILMY AVI NOWE CHOMIKUJ
- FILMY XXX - HD - NOWOŚCI
- - ▉ - FILMY 2018 CHOMIKUJ - FILMY NOWE
- - ▉ - FILMY 2018 CHOMIKUJ - FILMY NOWE(1)
- ◢◤ - FILMY [ - 2018 - ] CHOMIKUJ
Zgłoś jeśli
naruszono regulamin