Action / Animation #A
Befehlsgruppe um Objekte zu animieren, z.B. Erscheinen, Wegfliegen, Rotieren oder Ausblenden zu lassen.
Animation definieren und einstellen
Animationsdefinition beginnen/beenden (Action Define Condition) |
Start |
|
Animation absolut definieren (Action Object Absolut) |
Obj-ID, Action1, ..., ActionN |
|
Animation relativ definieren (Action Object Relative) |
Obj-ID, Action1, ..., ActionN |
|
Animationstyp und -zeit einstellen (Action Object Type) |
Obj-ID, Typ, Gesamtzeit(100), Start (0), Ende(0) |
|
Animation stoppen (Action Object Stop) |
Obj-ID, Stop(0), Abbruchverhalten(0) |
|
Animation löschen (Action Object Delete) |
Obj-ID, ..., Obj-IDn |
Aktionspfade und Aktionskurven definieren
Aktionspfad definieren (Action Path Define) |
Pfad-Nr, x, y, Segment1, ..., SegmentN |
|
Aktinskurve definieren (Action Curve Define) |
Kurvennummer, x1, y1, x2, y2 |
... #PPP 4,<P:picture/Coaster.evg>,25,20,8,50,30,0 #APD 1,-26,20,?L 150,20,?Q 250,20,250,150,?Q 250,240,150,240,?Q 75,240,75,175,?Q 75,125,150,125,?S 231,126,278,166,320,200,?Q 355,223,400,225,?L 505,225 #AOA 4,154,0 #AOA 4,354,0 #AOT 4,4,400 ... |
Animation definieren und einstellen
Animationsdefinition beginnen/beenden
#ADC |
Start |
Ist die Animationsdefinition innerhalb eines Makros ist dieser Befehl nicht notwendig, da ein Makro immer komplett abgearbeitet wird, bevor der Bildschirminhalt neu gezeichnet wird.
Start |
|
0 |
Animationsdefinition beenden → alle neuen Animationen starten |
1 |
Animationsdefinition beginnen → keine Animation wird ausgeführt |
#AOA |
Obj-ID, Animation1, ..., AnimationN |
#AOR |
Der Befehl definiert eine Animation für ein Objekt. Der Parameter Animation gibt die Animation vor. Je nach Befehl werden absolute #AOA oder relative #AOR Werte übergeben.
Animation |
||||||||
Position ändern |
100+ 1..10 |
x, y |
... #AOA 1,104,400,136 ... |
|||||
Das Objekt bewegt sich in einer Geraden zum angegeben Punkt (x, y). Der zeitliche Verlauf wird durch die Aktionskurve (1..10) vorgegeben. |
||||||||
Position via Pfad ändern |
150+ 1..10 |
Aktionspfad, Offset |
... #APD 1,80,136,?S180,30,300,30,400,136 #AOA 1,154,1,0 ... |
|||||
Das Objekt folgt dem Aktionspfad (#APD), der Offset bestimmt prozentual den Startwert. Der zeitliche Verlauf wird durch die Aktionskurve (1..10) vorgegeben. |
||||||||
Skalierung ändern |
200+ 1..10 |
SkalierungX, SkalierungY |
... #AOA 1,204,200,200 ... |
|||||
Die Objektgröße wird linear prozentual auf die Originalgröße verändert. Der zeitliche Verlauf wird durch die Aktionskurve (1..10) vorgegeben. |
||||||||
Skalierung via Pfad ändern |
250+ 1..10 |
Aktionspfad, Offset |
... #APD 1,0,0,?L150,150,?L100,100 #AOA 1,254,1,0 ... |
|||||
Das Objekt ändert seine Größe anhand des Aktionspfads, der Offset bestimmt prozentual den Startwert. Der x-Wert des Pfades bestimmt die Vergrößerung in x-Richtung, der y-Wert entsprechend die Vergrößerung in y-Richtung. Der zeitliche Verlauf wird durch die Aktionskurve (1..10) vorgegeben. |
||||||||
Rotation ändern |
300+ 1..10 |
Winkel |
... #AOA 1,304,-180 ... |
|||||
Drehung des Objekts um Winkel-Grad (<0 im, >0 gegen den Uhrzeigersinn). Der zeitliche Verlauf wird durch die Aktionskurve (1..10) vorgegeben. |
||||||||
Rotation via Pfad ändern |
350+ 1..10 |
Aktionspfad, Offset |
... #APD 1,0,0,?Q50,0,50,50,?R100,100 #AOA 1,354,1,0 ... |
|||||
Die Drehung folgt dem Aktionspfad. Die Rotation wird dabei durch die Steigung der Kurve bestimmt. Meist wird diese Animation in Verbindung mit der Positionsänderung via Pfad verwendet. Benutzt man den gleichen Aktionspfad für die Positionsänderung und die Rotation, so folgt die Drehung des Objekts der Positionsänderung. Der Offset bestimmt prozentual den Startwert. Der zeitliche Verlauf wird durch die Aktionskurve (1..10) vorgegeben. |
||||||||
Scherung ändern |
400+ 1..10 |
ScherungX, ScherungY |
... #AOA 1,404,30,30 ... |
|||||
Das Objekt um ScherungX-,ScherungY-Grad scheren. Der zeitliche Verlauf wird durch die Aktionskurve (1..10) vorgegeben. |
||||||||
Scherung via Pfad ändern |
450+ 1..10 |
Aktionspfad, Offset |
... #APD 1,0,0,?L30,30,?L-30,-30,?L0,0 #AOA 2,454,1,0 ... |
|||||
Das Objekt ändert seine Scherung anhand des Aktionspfads, der Offset bestimmt prozentual den Startwert. Der x-Wert des Pfades bestimmt die Scherung in x-Grad, der y-Wert entsprechend die Scherung in y-Grad. Der zeitliche Verlauf wird durch die Aktionskurve (1..10) vorgegeben. |
||||||||
Deckkraft ändern |
500+ 1..10 |
Transparenz |
... #AOA 2,504,0 ... |
|||||
Das Objekt ändert die Deckkraft (Transparenz). Der zeitliche Verlauf wird durch die Aktionskurve (1..10) vorgegeben. |
||||||||
Farbkanal ändern |
600+ 1..10 |
R, G, B |
... #AOA 2,604,-27,-1,18 ... |
|||||
Ändern der Farbkanäle Rot, Grün und Blau. Der Farbkanal der Zielfarbe wird relativ zu den übergebenen Parametern bestimmt. Die Parameter (R, G, B) werden als Prozentwerte im Bereich von -100 bis 100 übergeben. Beispiel: Angenommen die Ausgangsfarbe soll von RGB(50,0,0) auf RGB(200,0,0) geändert werden. Die Zielfarbe hat sich nur im Rotanteil geändert. Die Differenz des Rotanteils beträgt 150. Dieser muss noch in die Prozentdarstellung umgerechnet werden:
#AOA 1,604,118,0,0 Der zeitliche Verlauf wird durch die Aktionskurve (1..10) vorgegeben. |
Animationstyp und -zeit einstellen
#AOT |
Obj-ID, Typ, Gesamtzeit(100), Start (0), Ende(0) |
Die Gesamtzeit (in 1/100s) der Animation beinhaltet die Verzögerung beim Start (in 1/100s) und am Ende (in 1/100s). Der Typ gibt den Animationstyp vor:
Typ |
|||
1 |
Erscheinen |
||
2 |
Verschwinden |
Objekt wird gelöscht |
|
3 |
Objekt wird unsichtbar |
||
4 |
Change (einmalig) |
||
5 |
Zyklisch |
||
6 |
PingPong |
Die Animation wird nach dem Befehl automatisch gestartet. Wurde jedoch davor der Befehl #ADC mit dem Parameter 1 aufgerufen, wird die Animation erst nach dem Befehl #ADC 0 ausgeführt.
#AOS |
Obj-ID, Stop(0), Abbruchverhalten(0) |
Die Animation wird angehalten. Der Befehl kann nur bei periodischen Animationen angewendet werden (Zyklisch/Ping Pong). Der Parameter Stop gibt den Zeitpunkt an:
Stop |
|
0 |
Sofort |
1 |
Am Anfang der Animation |
2 |
Am Ende der Animation |
Das Abbruchverhalten gibt an, was mit dem Objekt geschehen soll:
Abbruchverhalten |
|
0 |
Objekt behält aktuellen Zustand |
1 |
Sprung (nur bei Stop =1 oder =2) |
2 |
Objekt löschen |
3 |
Objekt unsichtbar schalten |
#AOD |
Obj-ID, ..., Obj-IDn |
Der Befehl löscht eine oder mehrere Animationen. Wird die Objekt-ID 0 übergeben, werden alle Animationen gelöscht.
Aktionspfade und Aktionskurven definieren
#APD |
Pfad-Nr, x, y, Segment1, ..., SegmentN |
Die Pfad-Nr ist auf 1..10 begrenzt. Die Segmente des Pfades werden nach dem gleichen Prinzip erstellt wie beim Zeichnen von Pfaden (siehe #GPP).
#ACD |
Kurvennummer, x1, y1, x2, y2 |
Der Befehl erstellt eine eigene Aktionskurve, die den zeitlichen Verlauf der Animation vorgibt. Es sind 10 Kurven vordefiniert, die überschreiben werden können. Kurvennummer (1-10) gibt die Aktionskurve an, die überschrieben wird. Die Aktionskurve ist eine kubische Bézierkurve. Mit den Parametern x1, y1, x2 und y2 werden die Kontrollpunkte der Kurve vorgegeben. Der Wertebereich der Parameter ist für X 0...100, für Y -200...300.
Die Aktionskurven geben den zeitlichen Verlauf der Animation vor. Es sind 10 Kurven vordefiniert, die verändert werden können (#ACD). Bei den Kurven handelt es sich um kubische Bézierkurven mit zwei Stützpunkten:
Aktionskurve |
|||
1 |
Linear #ACD 1, 10,10, 90,90 |
||
2 |
Beschleunigend → Linear #ACD 2, 40,0, 60,40 |
||
3 |
Linear → Abbremsend #ACD 3, 40,60, 60,100 |
||
4 |
Beschleunigend → Linear → Abbremsend #ACD 4, 40,0 60,100 |
||
5 |
Unterschwingend → Linear #ACD 5, 30,0 30,-60 |
||
6 |
Linear → Überschwingend #ACD 6, 70,160, 70,100 |
||
7 |
Unterschwingend → Linear → Überschwingend #ACD 7, 30,-60, 70,160 |
||
8 |
Schwingend → Linear #ACD 8, 40,40, 20,-100 |
||
9 |
Linear → Schwingend #ACD 9, 80,200, 60,60 |
||
10 |
Linear → Schwingend → Linear #ACD 10, 60,200 40,-100 |