Skip to content

Actor (Figur)

Eine Figur (engl. Actor) ist ein grafisches Objekt, das sich bewegt bzw. das bewegt werden kann. In der Engine Pi gibt es eine Vielzahl verschiedener Figurenarten (z.B. Image, Text, Rectangle, Circle). Alle diese Spezialisierungen sind abgeleitet von der Oberklasse Actor. Die API-Dokumentation des Pakets pi.actor listet alle verfügbaren Actor-Klassen auf.

Import

Die Klasse Actor ist im Paket pi.actor enthalten und kann über die Anweisung

import pi.actor.Actor;

importiert werden.

Nachdem eine Figur erzeugt und zur Szene hinzugefügt wurde, befindet sie sich an der Koordinate (0|0), d.h. die linke untere Ecke der Figur - ihr Ankerpunkt - liegt an dem Punkt im Koordinatensystem, das 0 sowohl für den x- als auch den y-Wert der Koordinate hat.

Vererbungshierarchie Actor

opacity (Durchsichtigkeit)

Über den Setter Actor#opacity(double) dann die Durchsichtigkeit bzw. Deckkraft der Figur eingestellt werden. Der Eingabeparameter akzeptiert Kommazahlen (double) im Bereich von 0 bis 1. Bei 1 ist die Figur undurchsichtig, bei 0 komplett transparent. Der gleichlautende Getter Actor#opacity() liefert den aktuellen opacity-Wert. Neu erzeugte Figuren haben den opacity-Wert von 1. Sie sind also undurchsichtig.

Die linke Figur ist undurchsichtig, die rechte komplett transparent. Vom links nach rechts nimmt die Durchsichtigkeit um 0.2 pro Bild zu.

    public ActorOpacityDemo()
    {
        info().title("opacity (Durchsichtigkeit)")
            .description(
                "Die linke Figur ist undurchsichtig, die rechte komplett transparent. Vom links nach rechts nimmt die Durchsichtigkeit um 0.2 pro Bild zu.");
        for (double opacity = 1; opacity >= 0; opacity -= 0.2)
        {
            createImage(opacity);
        }
    }

    private void createImage(double opacity)
    {
        Actor image = new Image(
                "openpixelproject/various/opp_promo_cavegirl.png")
                    .opacity(opacity)
                    .anchor(xCursor, -2);
        add(image);

        add(new Text(TextUtil.roundNumber(image.opacity())).anchor(xCursor + 2,
            -4));
        xCursor += 6;
    }
Zum Java-Code: demos//home/runner/work/engine-pi/engine-pi/subprojects/demos/src/main/java/demos/docs/main_classes/actor/ActorOpacityDemo.java