Spieleprogrammierung mit Android Studio
Galileo Press (Verlag)
978-3-8362-2760-5 (ISBN)
- Titel ist leider vergriffen;
keine Neuauflage - Artikel merken
- Spiele-Apps: von der Idee bis zu Google Play
- Von A bis Z: Sound & Grafik, 2D- und 3D-Spiele, Social Gaming u.v.m.
- Mit Erfolg: Verstehen, nachbauen, selbst entwickeln
- Beispieldateien im Bonusbereich: Registrieren und Herunterladen!
Entwickeln Sie Ihre eigenen Spiele-Apps mit Android Studio!
Das Buch führt Sie in alle wichtigen Bereiche der Spieleprogrammierung für mobile Endgeräte ein: Sie erfahren, wie Sie Layouts für verschiedene Geräte entwickeln und wie die Spielesteuerung funktioniert. Sie entwickeln 2D- und 3D-Spiele und statten Ihre Spiele mit Sound, Musik und Special Effects aus.
Auch das Social Gaming kommt nicht zu kurz: Sie erfahren z. B., wie Sie den Spielstand in die Cloud bringen und Facebook integrieren. Java-Kenntnisse werden vorausgesetzt.
Themen sind insbesondere:
- Einführung in Android Studio
- GUI-Spiele ohne und mit Animationen
- Spielesteuerung mit Touch oder Neigetechnik
- Hintergrundmusik und Soundeffekte
- 2D- und 3D-Spiele entwickeln
- Spieler vernetzen (Leaderboards, Spielstand usw.)
- Kostenpflichtige Apps anbieten
Ausgerüstet mit guten Java-Kenntnissen stürzen Sie sich ins Abenteuer App-Entwicklung. In Form eines unterhaltsamen Tutorials erfahren Sie, wie man GUIs entwickelt, Sensoren einsetzt, Soundeffekte nutzt und noch vieles mehr. Spieletrends wie Location-based Gaming oder Social Gaming sind dabei ebenso Thema wie klassische 2D- und 3D-Spiele.
Ihre neue Umgebung: Android Studio
Mögen Sie Aneinanderreihungen von Fakten, gespickt mit langen Listings? Unser Autor nicht. Er zeigt die Installation von Android Studio und die Bedienung, und schon geht es mit dem ersten Spiel los. Die gezeigten Kniffe erleichtern dabei die Arbeit deutlich.
Alles, was ein Spiel braucht
Das lernen Sie hier! Sie werden in Ihre Spiele den Touchscreen, den Neigungssensor und die GPS-Ortsbestimmung einbeziehen; von Game-Levels, Kollisionen und Hindernissen oder Soundeffekten ganz zu schweigen. Und nebenbei betätigen Sie sich als 3D-Künstler.
Schnelle 2D-Spiele, 3D in Action und Social Gaming
Das Buch macht Sie anhand vieler Beispiele mit allen Arten moderner Spiele bekannt. So lernen Sie jeden wichtigen Baustein eines Spiels kennen und können ihn je nach Bedarf in Ihr Projekt einbauen, wie etwa Startbildschirme, Highscore-Listen, Street-Maps usw.
Uwe Post ist Chefentwickler der Smartphone-Spielefirma Ludetis und Experte für Spieleentwicklung auf Android. Über Jahre tagtägliche Arbeit mit Android-Games haben ihn zu einem gefragten Experten gemacht. Ferner schreibt Post Fachartikel, aber auch prämierte Science Fiction- und Fantasy-Literatur.
1 ... Einführung ... 15
1.1 ... Aufbau des Buches ... 17
1.2 ... Android- Spiele von damals bis heute ... 19
1.2.1 ... Angry Birds ... 19
1.2.2 ... Bejeweled ... 20
1.2.3 ... Air Control ... 21
1.2.4 ... Speedx 3D ... 22
2 ... Android Studio ... 25
2.1 ... Android Studio installieren ... 26
2.2 ... Ein Android-Projekt anlegen ... 28
2.3 ... Besichtigungstour ... 30
2.4 ... Arbeitserleichterungen ... 32
2.5 ... Layouts editieren ... 36
2.6 ... Lokale History ... 39
2.7 ... Zusammenfassung ... 40
3 ... GUI-Spielerei ... 41
3.1 ... Layouts für verschiedene Geräte ... 45
3.1.1 ... Das Layout basteln ... 45
3.1.2 ... Das Tablet-Layout ... 49
3.1.3 ... Portrait-Modus erzwingen ... 50
3.2 ... Die MainActivity ... 50
3.2.1 ... onCreate() und Content-View ... 50
3.2.2 ... Den Bildschirm aktualisieren ... 52
3.3 ... Fragments ... 53
3.3.1 ... Einfache Fragments ... 54
3.3.2 ... Fragments anzeigen ... 55
3.4 ... Button- Klicks verarbeiten ... 57
3.4.1 ... OnClickListener verdrahten ... 57
3.5 ... Einfache Game-Grafiken mit Inkscape ... 58
3.5.1 ... Füllung und Kontur ... 59
3.5.2 ... Export als PNG ... 60
3.5.3 ... Ein Launcher-Icon ... 61
3.6 ... Custom Views ... 62
3.6.1 ... Multiple ImageViews auswerfen ... 62
3.6.2 ... Ein eigener View ... 63
3.6.3 ... Bitmaps zeichnen ... 65
3.6.4 ... WimmelViews erzeugen ... 67
3.6.5 ... Es kann nur einen Frosch geben ... 68
3.6.6 ... Den Frosch küssen ... 70
3.7 ... Timing mit Handlern ... 72
3.7.1 ... Countdown im Takt ... 72
3.7.2 ... Aufräumarbeiten ... 74
3.8 ... Schriftarten ... 75
3.8.1 ... Truetype-Schriften verwenden ... 76
3.8.2 ... Ein Glow-Effekt ... 77
3.9 ... XML- Drawables ... 78
3.9.1 ... Ein XML-Shape ... 79
3.9.2 ... XML- Drawables verwenden ... 80
3.9.3 ... Multi- Shape-Drawables ... 81
3.10 ... Eigene Toasts ... 83
3.10.1 ... Eigene Toasts zusammenbauen ... 84
3.11 ... Dialoge ... 86
3.11.1 ... Ein Fragezeichen-Button ... 86
3.11.2 ... Einen Dialog erzeugen ... 87
3.12 ... Den Highscore speichern ... 89
3.12.1 ... Den Highscore verwalten ... 90
3.12.2 ... Die SharedPreferences ... 91
3.13 ... Zusammenfassung ... 92
4 ... Animierte GUI-Spiele ... 93
4.1 ... Bildbearbeitung mit GIMP ... 93
4.1.1 ... GIMP im Überblick ... 93
4.1.2 ... Eine Blase aufpusten ... 94
4.2 ... Vordefinierte Animationen ... 97
4.2.1 ... Game- Layouts erzeugen ... 97
4.2.2 ... Fragments anzeigen ... 99
4.2.3 ... Einfache View-Animationen ... 99
4.2.4 ... Eigene Animationen definieren ... 100
4.3 ... Eine BaseGameActivity ... 104
4.3.1 ... Schriftarten verwalten ... 104
4.4 ... Views bewegen ... 105
4.4.1 ... Seifenblasen-Physik ... 105
4.4.2 ... Seifenblasen bewegen ... 107
4.4.3 ... Bitmaps skalieren ... 109
4.5 ... Arbeit im Hintergrund ... 109
4.5.1 ... Der ScheduledExecutorService ... 110
4.5.2 ... Bewegung im Hintergrund ... 111
4.6 ... Seifenblasen fangen ... 112
4.6.1 ... Platzende Seifenblasen ... 113
4.6.2 ... Ein Callback für platzende Blasen ... 113
4.7 ... Zusammenfassung ... 115
5 ... Handys haben keinen Joystick ... 117
5.1 ... Smart Gaming mit Lagesensor ... 117
5.1.1 ... Projekt »SilverBall« ... 117
5.1.2 ... Die MainActivity vorbereiten ... 119
5.1.3 ... Eine Stahlkugel zeichnen ... 120
5.2 ... Dem View die Kugel geben ... 121
5.2.1 ... Die GameView-Klasse ... 121
5.2.2 ... Das Spiel starten ... 124
5.2.3 ... Kugel und Loch positionieren ... 125
5.3 ... Einfache Physik-Engine ... 126
5.3.1 ... Ein bisschen Physik genügt ... 126
5.3.2 ... Die Kugel der Schwerkraft aussetzen ... 127
5.3.3 ... Die GameEngine ... 128
5.3.4 ... Die Kugel bewegen ... 129
5.3.5 ... Der Handler-Umweg ... 131
5.4 ... Ruf mich an, Beschleunigungssensor ... 132
5.4.1 ... Der SensorManager ... 132
5.4.2 ... Ein Abo beim Beschleunigungssensor ... 133
5.4.3 ... Sensor und Engine verbinden ... 134
5.5 ... Game-Levels ... 135
5.5.1 ... Level- Definition in XML ... 135
5.5.2 ... Level- Models ... 136
5.5.3 ... Unmarshalling mit Simple XML ... 138
5.6 ... Minigolf ohne Schläger ... 139
5.6.1 ... Die Szene erweitern ... 139
5.6.2 ... Ein Level starten ... 141
5.6.3 ... Der Countdown ... 143
5.7 ... Kollision mit Hindernissen ... 143
5.7.1 ... Hindernisse in GameView ... 144
5.7.2 ... Hindernis-Physik ... 145
5.7.3 ... Kollisionen feststellen ... 145
5.8 ... Schnell, schneller, SurfaceView ... 147
5.8.1 ... Frameraten anzeigen ... 147
5.8.2 ... IGameView extrahieren ... 148
5.8.3 ... SurfaceView übernimmt das Kommando ... 149
5.8.4 ... Der Surface-Renderer ... 151
5.9 ... Zusammenfassung ... 153
6 ... Sound und Musik ... 155
6.1 ... Hintergrundmusik ... 156
6.1.1 ... Musik mit LMMS ... 157
6.1.2 ... Ein Instrument bedienen ... 158
6.1.3 ... Eine Melodie in Moll ... 159
6.2 ... Soundeffekte erzeugen ... 161
6.2.1 ... Effekte mit Audacity ... 161
6.3 ... Android- Audiofunktionen ... 162
6.3.1 ... Androids MediaPlayer ... 162
6.3.2 ... Effekte abspielen ... 163
6.3.3 ... Die Lautstärke regeln ... 165
6.4 ... Sprechende Blobs? ... 166
6.4.1 ... Bunte Blobs ... 166
6.4.2 ... Punkte verwalten ... 166
6.4.3 ... Sprachausgabe hinzufügen ... 169
6.5 ... Zusammenfassung ... 171
7 ... Location- based Gaming ... 173
7.1 ... Wo bin ich und woher weiß das Handy das? ... 174
7.1.1 ... Der LocationManager ... 174
7.1.2 ... Location-Updates abonnieren ... 175
7.2 ... Eine Karte anzeigen ... 175
7.2.1 ... OpenStreetMaps einbinden ... 176
7.2.2 ... Den MapView anzeigen ... 176
7.2.3 ... Die eigene Position anzeigen ... 177
7.3 ... Inventar mit SQLite ... 179
7.3.1 ... Datenstrukturen festlegen ... 179
7.3.2 ... Die SQLite-Datenbank verwalten ... 180
7.4 ... Zeichenobjekte hinzufügen ... 185
7.4.1 ... Ein Icon-Overlay ... 185
7.4.2 ... Stationen bauen ... 186
7.4.3 ... Ein Dialog für den Namen ... 188
7.5 ... Briefe erzeugen ... 189
7.5.1 ... Klickbare Overlay-Items ... 189
7.5.2 ... Die nächste Station finden ... 189
7.5.3 ... Einen Brief erzeugen ... 190
7.5.4 ... Alle Briefe finden ... 192
7.5.5 ... Einen Brief löschen ... 193
7.6 ... Briefe zustellen ... 193
7.6.1 ... Liste der Briefe anzeigen ... 193
7.6.2 ... Ein ListView und sein Adapter ... 195
7.6.3 ... Briefdetails eintragen ... 197
7.6.4 ... Einen Brief zustellen ... 198
7.7 ... Zusammenfassung ... 199
8 ... Schnelle 2D- Spiele ... 201
8.1 ... Views verschieben ist zu langsam ... 201
8.2 ... Schnelle 2D-Grafik mit libgdx ... 202
8.2.1 ... Was ist OpenGL ES? ... 202
8.2.2 ... libgdx verwenden ... 203
8.2.3 ... Die libgdx-Activity ... 205
8.3 ... Sprites ... 206
8.3.1 ... Game- Texturen erstellen ... 206
8.3.2 ... Pixelfonts erzeugen ... 211
8.4 ... Die UI implementieren ... 212
8.4.1 ... Die Game-Klasse ... 212
8.4.2 ... Eine Bühne für Buttons ... 213
8.4.3 ... Bühne frei für die Tabelle ... 214
8.4.4 ... Styles für Tabelleninhalte ... 214
8.5 ... Der GameScreen ... 217
8.5.1 ... Eine Flaschen-Klasse ... 217
8.5.2 ... Elemente der Spielwelt ... 218
8.5.3 ... Den GameScreen implementieren ... 219
8.5.4 ... Bierflaschen zeichnen ... 220
8.5.5 ... Bewegungen implementieren ... 221
8.6 ... Partikelsysteme ... 225
8.6.1 ... Ein Partikelsystem entsteht ... 225
8.6.2 ... Bläschen im GameScreen ... 227
8.7 ... Flaschenfang auf dem Desktop ... 228
8.7.1 ... Eine Java-Bibliothek ... 228
8.7.2 ... Die Gradle-Datei manipulieren ... 229
8.7.3 ... Die Main-Klasse für die Desktop-Version ... 230
8.8 ... Flaschenfang als Browser-Game ... 231
8.8.1 ... Ein GWT-Modul ... 231
8.8.2 ... Die Main-Klasse der GWT-Version ... 232
8.8.3 ... Die Gradle-Datei erweitern ... 234
8.9 ... Zusammenfassung ... 238
9 ... 3D-Spiele ... 241
9.1 ... libgdx 3D ... 242
9.1.1 ... Hinein ins Labyrinth ... 242
9.1.2 ... Das Projekt aufbauen ... 243
9.1.3 ... Die MainActivity ... 243
9.2 ... Die Klasse TheGame ... 245
9.2.1 ... Der StartScreen ... 246
9.2.2 ... Zum GameScreen wechseln ... 249
9.3 ... 3D- Koordinaten ... 250
9.3.1 ... Die Physik des Gleiters ... 251
9.4 ... Das Bühnenbildner-Modul ... 253
9.4.1 ... Die SceneEngine entwickeln ... 254
9.4.2 ... Model- Beschreibungen in XML ... 256
9.4.3 ... Blaupausen laden ... 257
9.4.4 ... Ein ModelManager ... 258
9.5 ... Eine Szene aufbauen ... 259
9.5.1 ... Szenenbeschreibung in XML ... 260
9.5.2 ... Modelle in der Szene platzieren ... 260
9.5.3 ... Modelle aufräumen ... 261
9.5.4 ... Kollisionen prüfen ... 262
9.5.5 ... Die Szene rendern ... 263
9.6 ... Arena mit Hindernissen ... 264
9.6.1 ... Das Labyrinth aufbauen ... 264
9.6.2 ... Labyrinth-Levels in XML definieren ... 265
9.7 ... Den GameScreen implementieren ... 269
9.7.1 ... Kamera und Environment ... 270
9.7.2 ... Ein Level laden ... 271
9.7.3 ... Mechanik in 3D ... 273
9.7.4 ... Die Steuerung implementieren ... 274
9.7.5 ... Kollisionen ermitteln ... 276
9.7.6 ... Sound- Pitch justieren ... 279
9.7.7 ... Die Szene rendern ... 280
9.8 ... Zusammenfassung ... 281
10 ... Social Gaming ... 283
10.1 ... Google Play Game Services ... 283
10.1.1 ... Die Developer Console ... 284
10.1.2 ... Das Spieldienste-Quartett ... 286
10.2 ... Mit den Spieldiensten verbinden ... 286
10.2.1 ... Das Build-Skript erweitern ... 287
10.2.2 ... Die BaseGameServicesActivity ... 287
10.2.3 ... Soziale Buttons ... 289
10.2.4 ... Erfolge und Bestenliste anzeigen ... 290
10.2.5 ... Bei den Spieldiensten anmelden ... 290
10.3 ... Erfolge feiern ... 291
10.3.1 ... Erfolge definieren ... 291
10.3.2 ... Erfolge freischalten ... 292
10.3.3 ... Die Datenbank erweitern ... 294
10.4 ... In Führung gehen ... 297
10.4.1 ... Bestenlisten definieren ... 297
10.4.2 ... In die Bestenliste eintragen ... 298
10.5 ... Spielstand in der Cloud ... 299
10.5.1 ... Cloud Save integrieren ... 300
10.5.2 ... Spielstand laden ... 301
10.5.3 ... Einen Spielstand in der Cloud speichern ... 302
10.5.4 ... Cloud Save verdrahten ... 302
10.6 ... Facebook integrieren ... 303
10.6.1 ... Facebook-SDK integrieren ... 304
10.6.2 ... Eine Facebook-App definieren ... 304
10.6.3 ... Die App mit Facebook verbinden ... 305
10.6.4 ... Auf Facebook teilen ... 308
10.6.5 ... Zusätzliche Erlaubnis einholen ... 310
10.7 ... Zusammenfassung ... 312
11 ... Monetarisieren ... 315
11.1 ... Google In- App Billing ... 316
11.1.1 ... Sinnvolle In-App-Artikel ... 316
11.1.2 ... Bonus- Levels ... 317
11.1.3 ... Lavapfützen ... 318
11.1.4 ... Kosmetik ... 319
11.1.5 ... Ein LevelPackManager ... 320
11.1.6 ... Kugelschmelze ... 326
11.1.7 ... In- App-Artikel definieren ... 328
11.1.8 ... Kaufvorgang starten ... 330
11.1.9 ... Einkauf registrieren ... 333
11.1.10 ... Schutz vor Hackern ... 334
11.2 ... Andere Bezahlmethoden ... 336
11.2.1 ... Amazon App Store ... 336
11.2.2 ... Gradle-Flavors ... 337
11.2.3 ... PayPal, Paysafecard und Co. ... 341
11.2.4 ... Gesponsertes Payment ... 342
11.3 ... Zusammenfassung ... 344
... Anhang ... 345
A.1 ... Download- Paket ... 345
A.2 ... API- Übersicht Google Play Game Services ... 345
A.3 ... API- Übersicht libgdx ... 354
... Index ... 377
Erscheint lt. Verlag | 28.4.2014 |
---|---|
Reihe/Serie | Galileo Computing |
Verlagsort | Bonn |
Sprache | deutsch |
Maße | 168 x 240 mm |
Gewicht | 845 g |
Einbandart | gebunden |
Themenwelt | Mathematik / Informatik ► Informatik ► Programmiersprachen / -werkzeuge |
Informatik ► Software Entwicklung ► Spieleprogrammierung | |
Informatik ► Weitere Themen ► Computerspiele | |
Informatik ► Weitere Themen ► Smartphones / Tablets | |
Schlagworte | Android-Apps • Android (Betriebssystem); Spezielle Anwendungsbereiche • Android SDK • Android Spiele programmieren • Android Studio • Android Studio; Spezielle Anwendungsbereiche • App-Programmierung • Computerspiele (Programmierung/Entwicklung) • Google Play • Java • Spieleprogrammierung |
ISBN-10 | 3-8362-2760-6 / 3836227606 |
ISBN-13 | 978-3-8362-2760-5 / 9783836227605 |
Zustand | Neuware |
Haben Sie eine Frage zum Produkt? |
aus dem Bereich