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)

#ADC

Start

Animation absolut definieren

(Action Object Absolut)

#AOA

Obj-ID, Action1, ..., ActionN

Animation relativ definieren

(Action Object Relative)

#AOR

Obj-ID, Action1, ..., ActionN

Animationstyp und -zeit einstellen

(Action Object Type)

#AOT

Obj-ID, Typ, Gesamtzeit(100), Start (0), Ende(0)

Animation stoppen

(Action Object Stop)

#AOS

Obj-ID, Stop(0), Abbruchverhalten(0)

Animation löschen

(Action Object Delete)

#AOD

Obj-ID, ..., Obj-IDn

Aktionspfade und Aktionskurven definieren

Aktionspfad definieren

(Action Path Define)

#APD

Pfad-Nr, x, y, Segment1, ..., SegmentN

Aktinskurve definieren

(Action Curve Define)

#ACD

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


Animation absolut/relativ definieren


#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:



150

100 = 117,65


255


#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.


Animation stoppen

#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


Animation löschen

#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


Aktionspfad 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).


Aktionskurve definieren

#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.


Vordefinierte Aktionskurven


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