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

Actor

Die Klasse Actor

Ein Actor ist eine bewegliche Spielfigur, die in einer World lebt und ein Bild besitzt. Deine eigenen Figuren sind Unterklassen von Actor und überschreiben die Methode act(). Die Position (x, y) wird in Zellen angegeben.

Klassendiagramm der Klasse Actor

Das <T> (z.B. bei getOneIntersecting) ist ein Platzhalter für einen Datentyp: Beim Aufruf setzt du dafür die gewünschte Klasse ein. getOneIntersecting<Muenze>() liefert z.B. eine berührte Münze.

Beispiele

// Eine Münze, die sich in jedem Schritt ein Stück dreht
class Muenze : Actor() {
    init {
        image = Image("muenze.png")
    }

    override fun act() {
        turn(3)
    }
}
// Im act() einer Figur: eine berührte Münze einsammeln
val muenze = getOneIntersecting<Muenze>()
if (muenze != null) {
    world.removeObject(muenze)
}

API - Application Programming Interface

Eine API ist eine Übersicht über die Teile einer Klasse, die du verwenden kannst: ihre Attribute, Konstruktoren und Methoden.

Attribute
world: World Die Welt, in der dieser Actor liegt.
image: Image Das Bild (Aussehen) des Actors.
x, y: Int Position in Zellen. Wird automatisch an den Feldrand begrenzt.
rotation: Int Blickrichtung in Grad (0 = rechts, im Uhrzeigersinn).
isAtEdge: Boolean true, wenn der Actor am Rand der Welt liegt.
isClicked: Boolean true, wenn gerade auf diesen Actor geklickt wurde.
Konstruktoren
Actor() Erzeugt eine neue Figur. Das Bild setzt du danach über das Attribut image (meist im init-Block).
Methoden
act() Wird in jedem Schritt aufgerufen. Hier programmierst du das Verhalten der Figur (überschreiben).
move(distance: Int) Bewegt den Actor um distance Zellen in Blickrichtung.
turn(degrees: Int) Dreht die Blickrichtung um degrees Grad.
turnTowards(x: Int, y: Int) Dreht die Blickrichtung zur Zelle (x, y) hin.
distanceTo(other: Actor): Int Abstand zu einem anderen Actor (in Zellen).
intersects(other: Actor): Boolean true, wenn sich die Bilder dieses und des anderen Actors überschneiden.
getIntersecting<T>(): List<T> Alle sich überschneidenden Actor-Objekte vom Typ T.
getOneIntersecting<T>(): T? Ein sich überschneidender Actor vom Typ T oder null.
isTouching<T>(): Boolean true, wenn sich mindestens ein Actor vom Typ T überschneidet.
removeTouching<T>() Entfernt einen sich überschneidenden Actor vom Typ T aus der Welt.

Suche

v
100.123.10.3 Actor
Kopieren durch Anklicken

Rückmeldung geben