Thomas Lucka
Mobile Games
Spieleprogrammierung für Handys mit Java ME
Inhalt
8
Vorwort
12
1 Einleitung - Bevor es losgeht
14
1.1 Wozu überhaupt Handyspiele?
14
1.2 Voraussetzungen - Für wen ist dieses Buch geschrieben?
16
1.3 Hinweise zum Aufbau des Buches
17
1.4 Tipps & Tricks: Was Sie beim Lesen beachten sollten
18
2 Die Welt der Handyspiele - eine kleine Übersicht
20
3 Getting Started
26
3.1 Einführung in die Java ME
26
3.2 Tools
28
3.3 Emulatoren
29
3.4 JSRs
30
3.5 Hello World
33
3.6 Aufbau eines MIDlets
38
3.7 Buchbeispiele im Emulator ausführen
41
3.8 Installation auf dem Handy
42
4 Let The Games Begin - Einführung in die Spieleprogrammierung
46
4.1 Was wird benötigt?
46
4.2 Das Grundgerüst: MIDlet-Klasse und Lebenszyklus
48
4.3 Vorhang auf - die Leinwand (Canvas-Klasse)
51
4.4 Fullscreen-Anwendungen
54
4.6 Bilder laden und anzeigen
59
4.7 Arbeiten mit Text (Text anzeigen, Fonts auswählen, Farben)
63
4.8 Das Herz des Spiels: Threads/Game Loop
67
4.9 Animationen, Bewegungsmuster, Frames
73
4.9.1 Rechteckige Bewegung
73
4.9.2 Kreisbahn
76
4.9.3 Zufallsbewegungen
76
4.9.4 Animierte Bewegungen mit Clipping
78
4.10 Input Handling
85
4.11 Kollisionsabfrage
90
5 Ein erstes Spiel - Meteoritenalarm
96
5.1 Das Spielkonzept
96
5.2 Hilfsmittel bündeln - die Toolbox
97
5.3 Meteors-Grundgerüst
101
5.4 Sprites verwalten und einsetzen
104
5.5 Die SpriteTool-Klasse
110
5.6 Eine Klasse für sich - der Spieler
113
5.7 Zentrale Organisation: die Game-Klasse
114
5.8 Von Explosionen und anderen Events
119
5.9 Gegenwehr: Aktionen des Spielers auslösen
126
5.10 Komplexität managen: Flags und State-Machines
129
5.11 Das Spiel abrunden: Scores und Game Over
131
5.12 Backgrounds und weitere Erweiterungen
133
6 Advanced Programming I
136
6.1 Commands vs. Softkey-Codes
136
6.2 GUI-Programmierung
143
6.3 Grafikformate
148
6.4 Sound
153
6.5 Datenspeicherung
171
7 Handyspiele mit Top-down-Perspektive
178
7.1 Die Grundidee
178
7.2 Tiles, Tilemaps & Tile-Editoren
181
7.3 Tilemaps erstellen und einbinden
184
7.4 Aufsetzen des Projektes
189
7.5 Scrolling - das Grundprinzip
198
7.6 Tilemap anzeigen
203
7.7 Levelelemente: Items, animierte Tiles, Hintergründe, Mauern
206
7.7.1 Hintergrundbilder einbinden
206
7.7.2 Animierte Tiles
209
7.7.3 Items aufsammeln
211
7.7.4 Kollision mit Hindernissen
212
7.7.5 Zufällige Positionierung von Sprites
214
7.8 Sprites mit KI ausstatten (Grundlagen Künstliche Intelligenz)
215
7.9 Scions of Mars - das fertige Spiel
224
8 Algorithmen für Jump-n-Run-Spiele
226
8.1 Was ist das Besondere an J'n'R-Spielen?
227
8.2 Spielbeschreibung
227
8.2.1 Steuerung
228
8.2.2 Was gelernt werden soll
229
8.2.3 Die benötigten Grafiken für Mine Hunter
229
8.3 Das Grundgerüst
231
8.4 Wie man den Spieler zum Hüpfen bringt
243
8.5 Seitwärtssprünge
249
8.6 Positionierung von Sprites
250
8.7 Fortbewegung auf Plattformen
255
8.8 Das Spiel vervollständigen
261
8.9 Parallax-Scrolling
265
8.10 Weitere mögliche Erweiterungen
269
9 Advanced Programming II
272
9.1 ProGuard als Obfuskator einsetzen
272
9.2 Preloader
274
9.3 Lokalisierung
277
9.4 Textfiles einlesen
279
9.5 Custom Fonts
281
9.6 GameCanvas (MIDP 2.0)
285
10 Willkommen in der dritten Dimension: 3D-Spiele mit Java ME
288
10.1 Das Grundgerüst: 3D-Sprites und Ego-Perspektive
291
10.2 Positionierung und Bewegung von 3D-Objekten
295
10.3 Sprite3D-Objekte erzeugen
298
10.4 Rendern von 3D-Grafik
299
10.5 "Kamera läuft ...!"
300
10.6 Animation von 3D-Sprites
303
10.7 Kollisionsbestimmung mit der Kamera
304
10.8 Echte 3D-Modelle: Meshes erzeugen und einsetzen
305
10.9 "Es werde Licht ...!"
310
11 Multiplayer-Spiele auf dem Handy? Verbindungen ins Internet
314
11.1 Client-Server-Kommunikation
315
11.2 Daten austauschen mithilfe von PHP
317
11.3 User Permissions
321
11.4 Das Request-/Response-Prinzip von HTTP
323
12 Ausblick
330
12.1 Eclipse mit J2ME-Plugin einsetzen
330
12.2 Portierung(en) - wozu denn das?
332
12.3 Automatisierung: Ant mit Antenna einsetzen
335
12.4 Und was kommt nun? Wie ein Spiel auf den Markt gelangt
342
Literatur
346
Register
348
© 2009-2024 ciando GmbH