Prinzipielle Benutzung
Der Aufbau eines BluePlay-Projekts
Ein BluePlay-Projekt besteht immer aus den vorgegebenen Framework-Klassen
(World, Actor, Image) und deinen eigenen Klassen.
Außerdem gibt es die Datei BluePlayFunctions, die
globale Funktionen enthält, z.B. für Tastenabfrage und Sound.
Die Klassen wirken wie folgt zusammen:
Ein Actor hat ein Bild (Image) und lebt in einer
World. Eine World enthält beliebig viele
Actor-Objekte.
Deine Klassen erben von World und Actor.
Eine eigene Welt
Eine eigene Welt ist eine Unterklasse von World. Im Konstruktor
legst du die Größe fest: Breite und Höhe in Zellen sowie die Größe einer
Zelle in Pixeln.
class Spielfeld : World(600, 400, 1) {
}
Eine eigene Spielfigur
Eine Spielfigur ist eine Unterklasse von Actor. Sie bekommt ein
Bild und beschreibt in der Methode act(), was in jedem Schritt
passieren soll. act() wird immer wieder automatisch aufgerufen,
solange das Spiel läuft.
class Spieler : Actor() {
init {
image = Image("spieler.png")
}
override fun act() {
if (isKeyDown("right")) x += 3
}
}
Das Hauptprogramm
Im Hauptprogramm erzeugst du die Welt, fügst mit addObject(...)
Figuren hinzu und zeigst die Welt mit show() an. Eine Welt zeigt
sich nie von allein.
fun main() {
val welt = Spielfeld()
welt.addObject(Spieler(), 300, 200)
welt.show()
}
Das Spiel starten
Sobald die Welt angezeigt wird, erscheint unten im Fenster eine Steuerleiste:
-
Start lässt das Spiel laufen (ruft immer wieder
act()auf); der Knopf heißt dann Stop. - Step führt genau einen Schritt aus.
-
Reset ruft dein
main()erneut auf und baut die Ausgangssituation wieder auf. - Mit dem Regler Speed stellst du die Geschwindigkeit ein.
isKeyDown) funktioniert, muss das
Spielfenster den Fokus haben. Klicke dazu einmal in das Fenster.