Bezeichnung
SetLayerAnchor -- ändert den Ankerpunkt der Ebene (V4.5)
Übersicht
SetLayerAnchor(id, ax, ay)
Beschreibung
Dieser Befehl kann verwendet werden, um den Ankerpunkt einer Ebene zu ändern. Der Ankerpunkt ist ein Punkt innerhalb der Ebene, die als Ursprung für alle Ebenentransformationen verwendet wird (Skalieren, Drehen) und auch die Position einer Ebene auf dem Ankerpunkt ist immer relativ. Manchmal wird der Ankerpunkt auch als "Hot Spot" einer Ebene bezeichnet.

Der Ankerpunkt kann jeder Punkt innerhalb der Ebene im Bereich von 0.0/0.0 (obere linke Ecke der Ebene) auf 1.0/1.0 (untere rechte Ecke der Ebene) sein. Das Zentrum der Ebene würde durch einen Ankerpunkt von 0.5/0.5 definiert werden.

Wenn Sie zum Beispiel eine Ebene haben wollen, die um seinen Mittelpunkt gedreht werden soll, dann müssen Sie den Ankerpunkt dieser Ebene auf 0.5/0.5 setzen. Wenn Sie sie um die linke obere Ecke drehen wollen, müssen Sie 0.0/0.0 als Ankerpunkt verwenden. Um die Ebene um die rechte untere Ecke zu drehen, benutzen Sie 1.0/1.0 als Ankerpunkt. Die übliche Einstellung ist um das Zentrum zu drehen, so dass Sie in der Regel den Ankerpunkt auf 0.5/0.5 einstellen.

Wenn Sie einen anderen Ankerpunkt als 0.0/0.0 verwenden, bedenken Sie, dass alle Angaben von Positionen nun relativ zum Ankerpunkt sein werden. Das heißt, dass eine Position von 0:0 auf der Ebene nicht zwangsläufig in der oberen linken Ecke des Displays ist. Zum Beispiel, wenn Sie eine Ebene mit einem Ankerpunkt von 1.0/1.0 haben und sie auf die Position 0:0 bewegen möchten (obere linke Ecke des Bildschirms) würde die Ebene so ziemlich unsichtbar machen, weil sein Ankerpunkt unten rechts eingestellt ist. Wenn Sie also eine Ebene mit einem unteren rechten Ankerpunkt auf Position 0:0 bewegen, bedeutet dies, dass die untere rechte Ecke der Ebene tatsächlich bei 0:0 erscheint. Somit ist nur ein einziges Pixel der Ebene sichtbar. Der Rest wird außerhalb des Bildschirmes sein.

Voreingestellt ist, dass alle Ebenen einen Ankerpunkt von 0.0/0.0 besitzen.

Ab Hollywood 10.0 kann dieser Befehl auch mit Ebenengruppen arbeiten, so dass Sie auch den Namen einer Ebenengruppe an diesen Befehl übergeben können.

Eingaben
id
Identifikator der Ebene
ax
Koordinate x des Ankerpunktes; muss zwischen 0.0 und 1.0 sein
ay
Koordinate y des Ankerpunktes; muss sich auch zwischen 0.0 und 1.0 befinden
Beispiel
EnableLayers
SetFillStyle(#FILLCOLOR)
Box(300, 200, 300, 200, #RED)
WaitLeftMouse
SetLayerAnchor(1, 0.5, 0.5)
WaitLeftMouse
SetLayerAnchor(1, 1.0, 1.0)
WaitLeftMouse
Der Code zeigt drei verschiedene Ankerpunkte: Erster bei 0.0/0.0, dann bei 0.5/0.5 und zuletzt bei 1.0/1.0. Sie können sehen, dass die Ebene mit jedem Aufruf von SetLayerAnchor() bewegt wird. Das ist, weil die Lage einer Ebene mit ihrem Verankerungspunkt immer relativ ist. Somit wird die Ebene bewegt, obwohl seine Position immer 300:200 sein wird.

Navigation zeigen