s n h m r u

Minimallogo des digitalen Schulbuchs inf-schule.de. Schriftzug in Zustandsübergangsdiagramm eines endlichen Automaten.

s n h m r u
i

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:

Übersicht: eigene Klassen erben von World und Actor

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.
Damit die Tastatur (z.B. isKeyDown) funktioniert, muss das Spielfenster den Fokus haben. Klicke dazu einmal in das Fenster.

Suche

v
100.123.10.1 Prinzipielle Benutzung
Kopieren durch Anklicken

Rückmeldung geben