Danksagung | 15 |
Einleitung | 17 |
Kapitel 1: Projekt: Einfache Formen herstellen | 25 |
Programmieren mit dem 3DE Code Editor | 26 |
Formen mit JavaScript herstellen | 29 |
Kugeln herstellen | 29 |
Mit der Würfelform Kisten herstellen | 32 |
Zylinder für alle möglichen Formen | 34 |
Mit Ebenen flache Oberflächen bauen | 37 |
Mit einem Ring einen Donut zeichnen (leider nicht essbar) | 38 |
Die Formen animieren | 39 |
Der Code bisher | 40 |
Wie es weitergeht | 40 |
Kapitel 2: Debugging: Code reparieren, wenn etwas schiefgeht | 41 |
Leg los | 42 |
Fehlersuche im 3DE: das rote X | 43 |
Fehlersuche im 3DE: das gelbe Dreieck | 44 |
Die JavaScript-Konsole öffnen und schließen | 44 |
Fehlersuche in der Konsole | 45 |
Verbreitete 3D-Programmierfehler | 47 |
Was tun, wenn der 3DE kaputt ist? | 50 |
Wie es weitergeht | 50 |
Kapitel 3: Projekt: Einen Avatar herstellen | 51 |
Leg los | 52 |
Stämmig, aber glatt | 52 |
Ein Ganzes aus Teilen herstellen | 54 |
Das Ganze auseinandernehmen | 55 |
Füße zum Gehen hinzufügen | 57 |
Herausforderung: Stell einen ganz eigenen Avatar her | 59 |
Räder schlagen | 59 |
Der Code bisher | 62 |
Wie es weitergeht | 62 |
Kapitel 4: Projekt: Avatare bewegen | 63 |
Leg los | 64 |
Mit Tastaturereignissen interaktive Systeme bauen | 65 |
Tastaturereignisse in Avatar- Bewegungen verwandeln | 66 |
Herausforderung: Animation starten/stoppen | 68 |
Mit Funktionen einen Wald bauen | 69 |
Die Kamera mit dem Avatar bewegen | 72 |
Der Code bisher | 77 |
Wie es weitergeht | 77 |
Kapitel 5: Funktionen: immer und immer wieder benutzen | 79 |
Leg los | 80 |
Grundfunktionen | 81 |
Funktionen, die Werte zurückliefern | 83 |
Funktionen benutzen | 86 |
Funktionen kaputt machen | 88 |
Bonus Nummer 1: Zufällige Farben | 90 |
Bonus Nummer 2: Flugsteuerungen | 91 |
Der Code bisher | 94 |
Wie es weitergeht | 94 |
Kapitel 6: Projekt: Hände und Füsse bewegen | 95 |
Leg los | 95 |
Eine Hand bewegen | 96 |
Hände und Füße zusammen schwingen lassen | 100 |
Gehen beim Bewegen | 101 |
Der Code bisher | 104 |
Wie es weitergeht | 104 |
Kapitel 7: Die Grundlagen von JavaScript näher untersucht | 105 |
Leg los | 106 |
Dinge in JavaScript beschreiben | 107 |
Zahlen, Wörter und andere Dinge in JavaScript | 110 |
Kontrollstrukturen | 120 |
Wie es weitergeht | 123 |
Kapitel 8: Projekt: Unseren Avatar umdrehen | 125 |
Leg los | 125 |
In die richtige Richtung schauen | 126 |
Das Ganze auseinandernehmen | 128 |
Die Drehung animieren | 130 |
Der Code bisher | 131 |
Wie es weitergeht | 131 |
Kapitel 9: Was ist das alles für ein Code? | 133 |
Leg los | 133 |
Eine kurze Einführung in HTML | 133 |
Die Szene einrichten | 135 |
Die Szene mit Kameras erfassen | 136 |
Mit einem Renderer projizieren, was die Kamera sieht | 137 |
Unterschiedliche Kameras untersuchen | 138 |
Wie es weitergeht | 140 |
Kapitel 10: Projekt: Kollisionen | 141 |
Leg los | 142 |
Strahlen und Überschneidungen | 142 |
Der Code bisher | 147 |
Wie es weitergeht | 147 |
Kapitel 11: Projekt: Obstjagd | 149 |
Leg los | 150 |
Eine Punktetafel bei null starten | 151 |
Die Bäume ein bisschen wackeln lassen | 152 |
Für Punkte springen | 155 |
Unsere Spiele noch besser machen | 157 |
Der Code bisher | 160 |
Wie es weitergeht | 160 |
Kapitel 12: Mit Licht und Material arbeiten | 161 |
Leg los | 162 |
Licht ausstrahlen | 163 |
Ambientes Licht | 164 |
Punktlicht | 165 |
Schatten | 166 |
Spotlichter und Sonnenlicht | 169 |
Textur | 172 |
Weitere Untersuchungen | 173 |
Der Code bisher | 175 |
Wie es weitergeht | 175 |
Kapitel 13: Projekt: Die Mondphasen | 177 |
Leg los | 178 |
Die Sonne im Zentrum | 179 |
Spiel- und Simulationslogik | 180 |
Lokale Koordinaten | 183 |
Action mit mehreren Kameras | 186 |
Bonus Nummer 1: Sterne | 187 |
Bonus Nummer 2: Flugsteuerungen | 189 |
Die Mondphasen verstehen | 190 |
Nicht perfekt, aber trotzdem eine großartige Simulation | 193 |
Der Code bisher | 194 |
Wie es weitergeht | 194 |
Kapitel 14: Projekt: Das Lila-Obstmonster-Spiel | 195 |
Leg los | 196 |
Das Konzept für das Spiel | 198 |
Boden für das Spiel hinzufügen | 199 |
Einen einfachen Avatar bauen | 200 |
Die Punktezählung hinzufügen | 205 |
Der Spielablauf | 206 |
Verbesserungen | 212 |
Der Code bisher | 212 |
Wie es weitergeht | 212 |
Kapitel 15: Projekt: Balancierbrett | 213 |
Leg los | 214 |
Das Konzept für das Spiel | 215 |
Bonus Nummer 1: Einen Hintergrund hinzufügen | 226 |
Bonus Nummer 2: Feuer machen! | 227 |
Herausforderung | 230 |
Der Code bisher | 230 |
Wie es weitergeht | 230 |
Kapitel 16: JavaScript-Objekte kennenlernen | 231 |
Leg los | 232 |
Einfache Objekte | 232 |
Eigenschaften und Methoden | 235 |
Objekte kopieren | 235 |
Neue Objekte konstruieren | 237 |
Das Schlimmste, was in JavaScript passieren kann: this verlieren | 240 |
Herausforderung | 242 |
Der Code bisher | 242 |
Wie es weitergeht | 242 |
Kapitel 17: Projekt: Achtung, fertig, Start | 243 |
Leg los | 244 |
Das Startgerät | 245 |
Die Punktetafel | 249 |
Körbe und Ziele | 250 |
Wind! | 254 |
Der Code bisher | 256 |
Wie es weitergeht | 256 |
Kapitel 18: Projekt: Spiele für zwei Spieler | 257 |
Leg los | 258 |
Zwei Startgeräte | 258 |
Zwei Punktetafeln | 263 |
Die Körbe die korrekte Punktetafel aktualisieren lassen | 267 |
Eine Tastatur teilen | 268 |
Ein vollständiges Zurücksetzen | 270 |
Der Code bisher | 271 |
Wie es weitergeht | 272 |
Kapitel 19: Projekt: Rafting auf dem Fluss | 273 |
Leg los | 274 |
Formen schieben und ziehen | 276 |
Unebenes Terrain | 281 |
Einen Fluss graben | 283 |
Die Punktetafel | 288 |
Ein Floß zum Wettrennen bauen | 289 |
Das Spiel zurücksetzen | 290 |
Tastatursteuerungen | 291 |
Die Ziellinie | 292 |
Bonus: Punkte zählen | 295 |
Der Code bisher | 301 |
Wie es weitergeht | 301 |
Kapitel 20: Code in das Web bekommen | 303 |
Der mächtige, mächtige Browser | 304 |
Kostenlose Websites | 308 |
Deinen Code auf eine andere Site bringen | 308 |
Der Code bisher | 313 |
Wie es weitergeht | 313 |
Anhang A: Projektcode | 315 |
Code: Einfache Formen herstellen | 315 |
Code: Mit der Konsole herumspielen und feststellen, was kaputt ist | 317 |
Code: Einen Avatar herstellen | 317 |
Code: Avatare bewegen | 318 |
Code: Funktionen: Immer und immer wieder benutzen | 320 |
Code: Hände und Füße bewegen | 322 |
Code: Die Grundlagen von JavaScript näher untersucht | 326 |
Code: Unseren Avatar drehen | 326 |
Code: Was ist das alles für ein Code? | 329 |
Code: Kollisionen | 330 |
Code: Obstjagd | 334 |
Code: Mit Licht und Material arbeiten | 340 |
Code: Die Mondphasen | 342 |
Code: Das Lila-Obstmonster-Spiel | 346 |
Code: Balancierbrett | 350 |
Code: JavaScript-Objekte kennenlernen | 354 |
Code: Achtung, fertig, Start | 357 |
Code: Achtung, fertig, Start für zwei Spieler | 362 |
Code: Rafting auf dem Fluss | 368 |
Code: Code in das Web bekommen | 374 |
Anhang B: In diesem Buch verwendete JavaScript- Codesammlungen | 377 |
Three.js | 377 |
Physijs | 378 |
Steuerungen | 378 |
Rauschen | 379 |
Scoreboard.js | 380 |
Shader-Partikel-Engine | 380 |
Sounds.js | 380 |
Tween.js | 381 |
Index | 383 |