World
Die Klasse World
Eine World ist das Spielfeld: ein Gitter aus width ×
height Zellen, wobei jede Zelle cellSize Pixel groß
ist. Deine eigene Welt ist eine Unterklasse von World.
Das <T> bei getObjects ist ein Platzhalter für
einen Datentyp: Beim Aufruf setzt du dafür die gewünschte Klasse ein.
getObjects<Muenze>() liefert z.B. alle Münzen.
Beispiele
// Eine eigene Welt mit 600x400 Zellen (je 1 Pixel groß)
class Spielfeld : World(600, 400, 1)
// Welt erzeugen, ein Objekt hinzufügen und anzeigen
val welt = Spielfeld()
welt.addObject(Spieler(), 300, 200)
welt.show()
API - Application Programming Interface
Eine API ist eine Übersicht über die Teile einer Klasse, die du verwenden kannst: ihre Attribute, Konstruktoren und Methoden.
| Attribute | |
|---|---|
width, height, cellSize: Int |
Breite und Höhe des Feldes (in Zellen) und die Größe einer Zelle (in Pixeln). Werden im Konstruktor festgelegt. |
background: Image |
Das Hintergrundbild der Welt. |
numberOfObjects: Int |
Anzahl der Actor-Objekte, die aktuell in der Welt sind. |
isClicked: Boolean |
true, wenn gerade auf die Welt (und nicht auf einen Actor) geklickt wurde. |
| Konstruktoren | |
World(width: Int, height: Int, cellSize: Int) |
Erzeugt eine Welt mit width × height Zellen à cellSize Pixel. |
| Methoden | |
show() |
Zeigt die Welt im Spielfenster an. Eine Welt zeigt sich nicht von allein. |
act() |
Wird in jedem Schritt aufgerufen. Kann überschrieben werden, um das Verhalten der ganzen Welt zu programmieren. |
addObject(actor: Actor, x: Int, y: Int) |
Fügt einen Actor an Position (x, y) in die Welt ein. |
removeObject(actor: Actor) |
Entfernt einen Actor aus der Welt. |
getObjects<T>(): List<T> |
Liefert alle Actor-Objekte vom Typ T, z.B. getObjects<Muenze>(). |
getObjectsAt(x: Int, y: Int): List<Actor> |
Liefert alle Actor-Objekte in der Zelle (x, y). |
allObjects(): List<Actor> |
Liefert alle Actor-Objekte der Welt. |
setBackground(datei: String) |
Lädt ein Bild als Hintergrund und skaliert es auf die Weltgröße. |
setBackground(r: Int, g: Int, b: Int) |
Füllt den Hintergrund mit einer Farbe (r, g, b je 0..255). |
showText(text: String, x: Int, y: Int) |
Zeigt Text an der Position (x, y) an. "" entfernt den Text dort wieder. |