Wie bewegt ein Spiel eine Figur?
Ein Spiel bewegt eine Figur mit Geschwindigkeit: der Strecke, die sie in einem Bild zurücklegt. Die Schwerkraft ist eine kleine Zahl, die in jedem Bild zur Geschwindigkeit hinzukommt und so einen Fall natürlich wirken lässt.
Wer das versteht, kann einen fallenden Ball, einen Sprung oder einen Stern programmieren, der immer schneller wird.
Am Ende dieser Lektion
Notiz
Ich kann Dinge mit Geschwindigkeit und Schwerkraft Schritt für Schritt bewegen.
Schlüsselwörter
| Begriff | Was er bedeutet | Beispiel |
|---|---|---|
| Geschwindigkeit | wie weit sich eine Figur pro Bild bewegt | 3 Pixel pro Bild |
| Schwerkraft | eine Zahl, die in jedem Bild zur Geschwindigkeit hinzukommt | GRAVITY = 0.15 |
| Beschleunigung | die Änderung der Geschwindigkeit pro Bild | |
| Schritt | ein Bild der Rechnung: erst die Geschwindigkeit, dann die Position | |
| Rückprall | die Umkehr der Richtung, wenn eine Figur den Boden trifft | |
| Dämpfung | der Anteil der Geschwindigkeit, der beim Rückprall bleibt |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Erst ändert sich die Geschwindigkeit, dann die Position
In jedem Bild passieren zwei Rechnungen. Zuerst kommt die Schwerkraft zur Geschwindigkeit hinzu. Dann kommt die neue Geschwindigkeit zur Position hinzu.
Die Schwerkraft verschiebt also nie direkt die Figur. Sie verändert nur das Tempo. Deshalb fällt ein Stern erst langsam und dann immer schneller. Auf der Leinwand wächst y nach unten, ein Fall hat daher eine positive Geschwindigkeit.
Ein Beispiel: Schwerkraft 1, Start in Ruhe
| Bild | Neue Geschwindigkeit | Neue Position y |
|---|---|---|
| 1 | 0 + 1 = 1 | 0 + 1 = 1 |
| 2 | 1 + 1 = 2 | 1 + 2 = 3 |
| 3 | 2 + 1 = 3 | 3 + 3 = 6 |
| 4 | 3 + 1 = 4 | 6 + 4 = 10 |
| 5 | 4 + 1 = 5 | 10 + 5 = 15 |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Ein fallender Ball mit Rückprall
<canvas id="bild" width="200" height="200"></canvas>
Beim Rückprall dreht sich die Geschwindigkeit um
Der Rückprall ist ein eigenes Beispiel dieser Lektion. Das Spiel des Labs hat keinen. Trifft der Ball den Boden, setzt das Spiel ihn auf den Boden zurück und kehrt das Vorzeichen der Geschwindigkeit um.
Die Dämpfung bestimmt, wie viel bleibt. Bei 0,5 prallt der Ball mit der halben Geschwindigkeit ab. Bei 1 verliert er nichts und springt immer wieder gleich hoch.
Beispiel: Boden 10, halbe Dämpfung
| Bild | Geschwindigkeit | Position y | Was geschieht |
|---|---|---|---|
| 4 | 4 | 10 | berührt den Boden gerade nur |
| 5 | 5 | 15, wird 10 | Treffer: Geschwindigkeit wird minus 2,5 |
| 6 | -2,5 + 1 = -1,5 | 10 - 1,5 = 8,5 | steigt auf |
| 7 | -0,5 | 8 | steigt, wird langsamer |
| 8 | 0,5 | 8,5 | fällt wieder |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Ein häufiger Fehler
Warnung
Viele addieren die Schwerkraft direkt zur Position. Der Ball fällt dann gleichmäßig und wirkt wie auf einem Förderband. Die Schwerkraft gehört zur Geschwindigkeit, die Geschwindigkeit zur Position.
Das Lab rechnet den Fall eines Sterns nach
Im Spiel des Labs fällt ein Stern genau nach dieser Regel. GRAVITY steht am Anfang von game.js. Das Skript fall.py liest den Wert und verfolgt einen Stern zehn Bilder lang.
Es gibt englische Wörter aus: gravity, frame, speed und y. Der Stern startet in Ruhe bei y gleich 0. Der Ball mit Rückprall ist nicht Teil des Labs.
Den Fall eines Sterns zehn Bilder lang verfolgen
docker exec jupyter python3 steps/fall.pyHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Die Schritte werden von Bild zu Bild größer
Bei unverändertem GRAVITY von 0,15 wächst die Geschwindigkeit in jedem Bild um 0,15, bis sie im zehnten Bild 1,50 erreicht. Der Stern ist dann 8,25 Pixel gefallen.
Jeder Schritt ist größer als der davor. Ändern Sie GRAVITY, speichern Sie game.js und starten Sie das Skript neu: Die Zahlen ändern sich mit.