Path-Generator-Plug-In |
Für jtap soll ein Plug-In erstellt werden, mit dem sich Pfadanimationen
festlegen lassen. Bei der Pfadanimationen werden Objekte entlang eines
vorgegebenen Pfades bewegt. Dieser Pfad kann aus geometrischen Formen
(Ellipse, Rechteck, n-Eck, Stern,...), freien Polygonzügen oder
Bézier-Kurven bestehen und soll zur Editierzeit eines jtap-Kurses festgelegt
werden. Ein Path-Element verwaltet dabei ein oder mehrere Elemente, die sich
entlang des festgelegten Pfades bewegen.
Folgende Eigenschaften sollte das Plug-In mindestens kennen:
- Pfadtyp: Ellipse | Rechteck | n-Eck | ... | freies Polygon | freie
Bézierkurve
- Anzahl der nötigen Schritte, um vom Pfadstart bis zum Pfadende zu gelangen
- Berücksichtigung der Orientierung, wenn ein verwaltetes Element die
Eigenschaft "rotation" zur Verfügung stellt, ist ein/ausschaltbar
- Flag, ob beim Erreichen der End-/Startposition die Animation gestoppt
wird, oder zur Start-/Endposition gesprungen wird
- Animationsmodus: forward | reward | onCommand - gibt an, ob sich die
verwalteten Objekte bei jedem Aufruf von TAPElement.update() automatisch
entlang des Pfades bewegen (forward, reward) oder sich die Position nur
verändern soll, wenn diese durch eine tell-Nachricht explizit gesetzt werden
soll
- Geschwindigkeit: gibt an, wie viele Schritte entlang des Pfades bei der
automatischen Animation (forward, reward) vorangeschritten werden
Auf folgende tell-Nachrichten sollte das Element mindestens reagieren:
- nextStep [speziellesElement]
- alle verwalteten Elemente (oder ein
spezielles) werden einen Schritt entlang des Pfades vorwärts bewegt
- prevStep [speziellesElement]
- alle verwalteten Elemente (oder ein
spezielles) werden einen Schritt entlang des Pfades rückwärts bewegt
- jumpStep steps [speziellesElement]
- alle verwalteten Elemente (oder ein
spezielles) werden um "steps" Schritte entlang des Pfades vorwärts bewegt
(bei negativen Werten rückwärts)
- startPos [speziellesElement]
- alle verwalteten Elemente (oder ein
spezielles) werden auf die erste Position des Pfades gesetzt
- endPos [speziellesElement]
- alle verwalteten Elemente (oder ein
spezielles) werden auf die letzte Position des Pfades gesetzt
- setPos position [speziellesElement]
- alle verwalteten Elemente (oder ein
spezielles) werden auf die Position "position" des Pfades gesetzt
- progess percent [speziellesElement]
- alle verwalteten Elemente (oder ein
spezielles) werden auf die Position des Pfades gesetzt, an der "percent"
Prozent des gesamten Pfades zurückgelegt wurden
- getPos speziellesElement
- liefert für ein spezielles Element die Position
(in Schritten gemessen)
- getProgressPos speziellesElement
- liefert für ein spezielles Element die
Position (in Prozent gemessen)
|