Der Boden
Das Ziel
Bugs schwebt noch. In dieser Lektion bekommt er einen Boden – aus neun einzelnen Plattformen, die nebeneinanderliegen.
So sieht das aus
Wie es gemacht ist
Eine Klasse ist ein Bauplan, ein Objekt ein einzelnes Ding nach diesem Plan.
Plattform ist der Bauplan; in der Schleife entstehen neun Objekte daraus:
for (int i = 0; i < PLATTFORMEN; i++) {
Plattform p = new Plattform();
p.setPosition(-400 + i * BREITE, -120);
this.add(p);
}
Für i = 0 liegt die Plattform bei −400, für i = 1 bei −300, für i = 2 bei −200 …
Neun Plattformen zu je 100 Pixeln ergeben genau die 900 Pixel, die wir gleich für
den endlosen Boden brauchen.
PLATTFORMEN und BREITE sind mit static final geschrieben: Es sind
Konstanten. Sie stehen an einer Stelle, gelten für alle Objekte und lassen sich
nicht versehentlich ändern. Das lohnt sich bei jeder Zahl, die an mehreren Stellen
gebraucht wird.
Deine Aufgabe
a) Starte das Programm. Zähl nach: Sind es wirklich neun Plattformen?
b) Setz PLATTFORMEN auf 4. Was passiert am rechten Rand? Setz die Zahl wieder zurück.
c) Bugs steht ein Stück in der Luft beziehungsweise im Boden? Ändere in Spieler
die zweite Zahl von setPosition, bis er sauber auf dem Gras steht.
d) Tausch das Kostüm der Plattform gegen ground_stone_small, ground_sand_small
oder ground_snow_small.
Tipp 1: Wie hoch liegt die Oberkante?
Die Plattform ist 201 Pixel hoch und wird mit setSize(50) auf 100 gebracht.
Ihr Mittelpunkt liegt bei −120, ihre Oberkante also 50 Pixel höher: bei −70.
Bugs ist nach dem Verkleinern 100 Pixel hoch. Damit seine Füße auf −70 stehen, muss sein Mittelpunkt 50 Pixel höher liegen.
Tipp 2: Ich will es nicht rechnen
Musst du auch nicht – probier Zahlen aus. Starte mit -45 und geh in Zehnerschritten
nach oben und unten, bis es passt. Programmieren ist oft genau das: eine Zahl ändern,
starten, gucken.