original-version-j2me-tworzenie-gier_j2metg.pdf

(13481 KB) Pobierz
665054616 UNPDF
J2ME. Tworzenie gier
Autor: Janusz Grzyb
ISBN: 978-83-246-1263-5
Wydawnictwo Helion
ul. Koľciuszki 1c
44-100 Gliwice
tel. 032 230 98 63
e-mail: helion@helion.pl
Stwrz wĀasnĴ grķ do telefonu komrkowego
¤ Poznaj technologiķ J2ME
¤ Zaprojektuj interfejs uŃytkownika dla gry
¤ Zaimplementuj mechanizmy wyľwietlania grafiki 3D
WspĀczesne telefony komrkowe przestaĀy byě urzĴdzeniami wykorzystywanymi
wyĀĴcznie do prowadzenia rozmw i wysyĀania wiadomoľci SMS. MoŃna je dziľ
stosowaě do wielu innych celw Ð peĀniĴ rolķ notatnikw, dyktafonw, aparatw
fotograficznych, odtwarzaczy plikw MP3 i przenoľnych konsoli do gier. Jednak
najwiķksze moŃliwoľci telefony komrkowe uzyskaĀy dziķki zaimplementowaniu w nich
jķzyka Java. Mobilna Java pozwala nie tylko na tworzenie dodatkowych narzķdzi, ale
takŃe gier Ð zarwno prostych platformwek, jak i skomplikowanych gier
wykorzystujĴcych zĀoŃone algorytmy wyľwietlania grafiki trjwymiarowej.
KsiĴŃka âJ2ME. Tworzenie gierÒ to podrķcznik, dziķki ktremu opanujesz technologiķ
J2ME i wykorzystasz jĴ do napisania wĀasnej gry do telefonu komrkowego. CzytajĴc
jĴ, poznasz podstawy mobilnej Javy, zainstalujesz narzķdzia niezbķdne do pracy
i dowiesz siķ, jak zbudowana jest aplikacja przeznaczona do wykorzystania w tym
urzĴdzeniu. Zaprojektujesz interfejs uŃytkownika i zastosujesz podstawowe metody
generowania grafiki 2D. Poznasz takŃe bibliotekķ Java Mobile 3D i wykorzystasz jĴ
do stworzenia prawdziwej gry z trjwymiarowĴ grafikĴ, uwzglķdniajĴcĴ tekstury
obiektw, oľwietlenie i cieniowanie. Dowiesz siķ rwnieŃ, jak budowaě gry dla wielu
graczy ĀĴczĴcych siķ ze sobĴ poprzez interfejs Bluetooth.
¤ Instalacja i konfiguracja narzķdzi Wireless Toolkit, Ant i Antenna
¤ Tworzenie interfejsu uŃytkownika
¤ Rysowanie podstawowych obiektw graficznych
¤ Algorytm ľledzenia promieni ľwiatĀa
¤ Reprezentacja obiektw 3D w Java Mobile 3D
¤ Modelowanie oľwietlenia i cieniowania
¤ Animowanie obiektw
¤ Przygotowanie sceny gry w programie Blender
¤ Komunikacja poprzez interfejs Bluetooth
¤ Tworzenie gry typu âmultiplayerÒ
Nie szukaj w sieci gier do swojej komrki Ð napisz wĀasnĴ!
665054616.001.png 665054616.002.png 665054616.003.png 665054616.004.png
Spis treści
Wstęp .............................................................................................. 7
Rozdział 1. Podstawy ....................................................................................... 11
Konfiguracja .................................................................................................................... 12
Profil ................................................................................................................................ 12
Najpopularniejsze pakiety opcjonalne ............................................................................. 13
Hello World ..................................................................................................................... 15
Wireless Toolkit .............................................................................................................. 17
Instalacja pakietu ....................................................................................................... 17
KToolbar ................................................................................................................... 19
Narzędzia specjalne ................................................................................................... 22
Ant ................................................................................................................................... 25
Instalacja .................................................................................................................... 26
Praca z Antem ........................................................................................................... 27
Tworzenie wersji dystrybucyjnej aplikacji ............................................................... 30
Antenna ............................................................................................................................ 32
Instalacja .................................................................................................................... 32
Nowa wersja skryptu — wykorzystujemy Antennę .................................................. 33
WTKPREPROCESS i kompilacja warunkowa w Javie ........................................... 35
Podsumowanie ................................................................................................................. 37
Pytania kontrolne ............................................................................................................. 38
Zadania ............................................................................................................................ 38
Rozdział 2. Interfejs użytkownika ..................................................................... 39
Podstawy interfejsu graficznego midletów ...................................................................... 39
Hierarchia klas interfejsu użytkownika ..................................................................... 41
Komendy ................................................................................................................... 42
Dodajemy więcej ekranów ........................................................................................ 45
Pozostałe ekrany interfejsu wysokopoziomowego .......................................................... 48
Lista wyboru .............................................................................................................. 48
Alert ........................................................................................................................... 50
Klasy Form i Item — kontrolki złożone .......................................................................... 52
Interfejs niskopoziomowy ............................................................................................... 55
Klasa Canvas i Graphics ........................................................................................... 56
Rysowanie na płaszczyźnie ekranu ........................................................................... 58
Obsługa zdarzeń ........................................................................................................ 68
4
J2ME. Tworzenie gier
Podsumowanie ................................................................................................................. 74
Pytania kontrolne ............................................................................................................. 74
Zadania ............................................................................................................................ 75
Rozdział 3. Gry 3D w 2D — Wolfenstein ........................................................... 77
Raycasting ....................................................................................................................... 77
Algorytm DDA śledzenia promienia ......................................................................... 81
Implementacja — wersja uproszczona ............................................................................ 84
Klasa Raycaster ......................................................................................................... 84
Klasa Player ............................................................................................................... 89
Klasa midletu ............................................................................................................. 90
Jeszcze jeden problem ............................................................................................... 92
Metoda dokładna ............................................................................................................. 93
Obliczamy współrzędne wektora promienia ............................................................. 93
Algorytm DDA w metodzie dokładnych podziałów ................................................. 94
Poprawiona implementacja metody Render .............................................................. 95
Podsumowanie ................................................................................................................. 97
Pytania kontrolne ............................................................................................................. 98
Zadania ............................................................................................................................ 98
Rozdział 4. Wprowadzenie do Java Mobile 3D ................................................... 99
Reprezentacja obiektów 3D ........................................................................................... 100
Układy współrzędnych .................................................................................................. 101
Układ globalny, układy lokalne i pozycjonowanie kamery .......................................... 102
Transformacje w przestrzeni trójwymiarowej ............................................................... 102
Macierze w Java Mobile 3D .................................................................................... 103
Zastosowanie macierzy w praktyce ......................................................................... 104
Orientacja trójkątów ...................................................................................................... 105
Orientacja trójkątów ................................................................................................ 105
Bufory wierzchołków .................................................................................................... 106
Bufory indeksów ............................................................................................................ 107
Pierwszy przykład w trybie immediate ......................................................................... 108
Inicjalizacja ............................................................................................................. 110
Rendering ................................................................................................................ 112
Animacja kamery .................................................................................................... 114
Dodajemy oświetlenie ................................................................................................... 115
Model Phonga ......................................................................................................... 115
Model oświetlenia w Java Mobile 3D ..................................................................... 115
Dodajemy źródła światła do sceny .......................................................................... 116
Materiały ................................................................................................................. 116
Dodajemy wektory normalne do bufora wierzchołków .......................................... 117
Kod przykładu z dodanymi źródłami światła .......................................................... 118
Teksturujemy walec ....................................................................................................... 120
Teksturowanie w Java Mobile 3D ........................................................................... 121
Zaawansowany przykład grafiki w trybie „immediate” ................................................ 125
Metoda „map wysokości” ....................................................................................... 126
Klasa „Terrain” ....................................................................................................... 127
Tworzenie bufora wierzchołków ............................................................................. 132
Generujemy współrzędne mapowania tekstur ......................................................... 133
Tworzymy bufor indeksów — Triangle Strip ......................................................... 133
Efekt mgły ............................................................................................................... 136
Podsumowanie ............................................................................................................... 137
Pytania kontrolne ........................................................................................................... 137
Zadania .......................................................................................................................... 138
Spis treści
5
Rozdział 5. Tryb Retained Java Mobile 3D ....................................................... 139
Graf sceny ...................................................................................................................... 140
Hierarchia klas grafu sceny ..................................................................................... 142
Animacja ........................................................................................................................ 146
Klatki kluczowe ....................................................................................................... 146
Wiążemy animację z właściwościami obiektu ........................................................ 147
Czas i kontrola animacji .......................................................................................... 148
Wyświetlanie plików M3G ............................................................................................ 151
Przygotowanie sceny ............................................................................................... 151
Eksport sceny do formatu M3G .............................................................................. 157
Wyświetlanie sceny na urządzeniu mobilnym ........................................................ 159
Wyświetlanie animowanej sceny ............................................................................ 160
Efekty specjalne ............................................................................................................. 162
Billboarding — rysujemy drzewa ........................................................................... 162
Animacja — tworzymy efekt eksplozji ................................................................... 165
Kolizje — strzelamy do celu ................................................................................... 170
Podsumowanie ............................................................................................................... 173
Pytania kontrolne ........................................................................................................... 173
Zadania .......................................................................................................................... 174
Rozdział 6. Gry sieciowe poprzez łącza Bluetooth ............................................ 175
Charakterystyka sieci w technologii Bluetooth ............................................................. 176
Aplikacje klient-serwer w technologii Bluetooth .......................................................... 177
Rola serwera w grze sieciowej ................................................................................ 177
Rola klienta w grze sieciowej .................................................................................. 178
Typowy scenariusz gry sieciowej .................................................................................. 178
Najważniejsze pojęcia Java Bluetooth .......................................................................... 181
Identyfikator usługi ................................................................................................. 181
Kod klasy urządzenia .............................................................................................. 181
Dostępność (wykrywalność) urządzenia Bluetooth ................................................ 182
GCF — Generic Connection Framework ................................................................ 182
Rejestracja usługi .................................................................................................... 183
Implementacja ............................................................................................................... 184
Ekran wyboru roli aplikacji ..................................................................................... 185
Ekran wyszukiwania potencjalnych graczy ............................................................ 185
Ekran wyboru uczestników gry ............................................................................... 189
Ekran klienta oczekującego na start gry .................................................................. 192
Klasa BluetoothConnection ..................................................................................... 195
Logika gry ............................................................................................................... 197
Podsumowanie ............................................................................................................... 201
Pytania kontrolne ........................................................................................................... 202
Zadania .......................................................................................................................... 202
Rozdział 7. Gra 3D Multiplayer ....................................................................... 203
Scenariusz gry „Cosmic Speedway” ............................................................................. 203
Sztuczna inteligencja przeciwników ............................................................................. 204
Wyścigi i gracze komputerowi ................................................................................ 204
Tor i reprezentacja trasy .......................................................................................... 207
Sterowanie i logika gracza ............................................................................................. 212
Klasa główna gry — Game ........................................................................................... 216
Inicjalizacja ............................................................................................................. 216
Krokowanie logiki gry ............................................................................................ 216
Maszyna stanów ...................................................................................................... 217
6
J2ME. Tworzenie gier
Klasa MyCanvas ............................................................................................................ 223
Klasa Player ................................................................................................................... 224
Dodajemy opcję „Multiplayer” ..................................................................................... 225
Okno wyboru trybu gry ........................................................................................... 226
Inicjalizacja ............................................................................................................. 227
Gracz sieciowy ........................................................................................................ 229
Modyfikacja klasy MyCanvas ................................................................................. 230
Podsumowanie ............................................................................................................... 233
Pytania kontrolne ........................................................................................................... 233
Zadania .......................................................................................................................... 234
Dodatek A Odpowiedzi do pytań kontrolnych .................................................. 235
Dodatek B Odpowiedzi i wskazówki do zadań ................................................. 243
Skorowidz .................................................................................... 259
Zgłoś jeśli naruszono regulamin