Action / Animation #A

Command group to animate objects, e.g. Show, fly away, rotate or fade out.


Define and set animation

Start/end animation definition

(Action Define Condition)

#ADC

Start

Define animation absolut

(Action Object Absolut)

#AOA

Obj-ID, Action1, ..., ActionN

Define animation relative

(Action Object Relative)

#AOR

Obj-ID, Action1, ..., ActionN

Set animation type and time

(Action Object Type)

#AOT

Obj-ID, Type, TotalTime(100), Start (0), End(0)

Stop animation

(Action Object Stop)

#AOS

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

Delete animation

(Action Object Delete)

#AOD

Obj-ID, ..., Obj-IDn

Define action paths and action curves

Define action path

(Action Path Define)

#APD

Path-No, x, y, Segment1, ..., SegmentN

Define action curve

(Action Curve Define)

#ACD

CurveNumber, 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

...


Define and set animation


Start/end animation definition

#ADC

Start

If the animation definition is within a macro, this command is not necessary because a macro is always processed completely before the screen content is redrawn.

Start

0

End animation definition → start all new animations

1

Start animation definition → no animation is executed


Define animation absolut/relative


#AOA

Obj-ID, Animation1, ..., AnimationN

#AOR

The command defines an animation for an object. The Animation parameter specifies the animation. Depending on the command, absolute #AOA or relative #AOR values are transferred.

Animation

Change position

100+ 1..10

x, y

...

#AOA 1,104,400,136

...

The object moves in a straight line to the specified point (x, y). The course of time is specified by the action curve (1..10).

Change position via path

150+ 1..10

ActionPath, Offset

...

#APD 1,80,136,?S180,30,300,30,400,136

#AOA 1,154,1,0

...

The object follows the ActionPath (#APD), the offset determined in percentage of the initial value. The course of time is specified by the action curve (1..10).

Change scale

200+ 1..10

ScaleX, ScaleY

...

#AOA 1,204,200,200

...

The object size is changed linearly in percentage to the original size. The course of time is specified by the action curve (1..10).

Change scale via path

250+ 1..10

ActionPath, Offset

...

#APD 1,0,0,?L150,150,?L100,100

#AOA 1,254,1,0

...

The object changes its size by means of the action path, the offset determined in percentage of the initial value. The x value of the path determines the magnification in the x direction, the y value correspondingly the magnification in the y direction. The course of time is specified by the action curve (1..10).

Change rotation

300+ 1..10

Angle

...

#AOA 1,304,-180

...

Rotation of the object by degrees (<0 in, >0 counterclockwise). The course of time is specified by the action curve (1..10).

Change rotation via path

350+ 1..10

ActionPath, Offset

...

#APD 1,0,0,?Q50,0,50,50,?R100,100

#AOA 1,354,1,0

...

The rotation follows the action path. The rotation is determined by the slope of the curve.

This animation type is mostly used combined with change of position via path. If you use the same action path for the position change and the rotation, the rotation of the object follows the position change.

The offset determines the starting value as a percentage. The course of time is specified by the action curve (1..10).

Change shear

400+ 1..10

ShearX, ShearY

...

#AOA 1,404,30,30

...

Shear the object by ShearX, ShearY degrees. The course of time is specified by the action curve (1..10).

Change shear via path

450+ 1..10

ActionPath, Offset

...

#APD 1,0,0,?L30,30,?L-30,-30,?L0,0

#AOA 2,454,1,0

...

The object changes its shear based on the action path, the offset determined in percentage of the initial value. The x value of the path determines the shear in x degrees, the y value accordingly the shear in y degrees. The course of time is specified by the action curve (1..10).

Change opacity

500+ 1..10

Opacity

...

#AOA 2,504,0

...

The object changes the Opacity. The course of time is specified by the action curve (1..10).

Change color channel

600+ 1..10

R, G, B

...

#AOA 2,604,-27,-1,18

...

Change the color channels Red, Green and Blue. The color channel of the target color is determined relative to the parameters passed. The parameters (R, G, B) are transferred as percentage values in the range from -100 to 100.

Example:

Assume that the output color should be changed from RGB (50.0.0) to RGB (200.0.0).

The target color has only changed in the red component. The difference in the red component is 150. The value has to be converted into a percentage value:



150

100 = 117,65


255


#AOA 1,604,118,0,0


The changing progress is specified by the action curve (1..10).



Set animation type and time

#AOT

Obj-ID, Type, TotalTime(100), Start (0), End(0)

The TotalTime (in 1 / 100s) of the animation includes the delay at the Start (in 1 / 100s) and at the End (in 1 / 100s). The Type specifies the animation type:

Typ

1

Appear

2

Disappear

Object is deleted

3

Object becomes invisible

4

Change (once)

5

Cyclical

6

PingPong

The animation starts automatically after the command. However, if the #ADC command was called beforehand with parameter 1, the animation is only executed after #ADC 0.


Stop animation

#AOS

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

The animation is stopped. The command can only be used for periodic animations (cyclic / ping pong). The Stop parameter specifies the point of time:

Stop

0

Immediately

1

At the beginning of animation

2

At the end of animation


The Abort behavior indicates what to do with the object:

Abort

0

Object keeps current state

1

Jump (only with Stop = 1 or = 2)

2

Delete object

3

Make object invisible


Delete animation

#AOD

Obj-ID, ..., Obj-IDn

The command deletes one or more animations. If the object ID 0 is passed, all animations are deleted.


Define action paths and action curves


Define action path

#APD

Path-No, x, y, Segment1, ..., SegmentN

The Path-No. is limited to 1..10. The path number is limited to 1..10. The path Segments are created according to the same principle as drawing paths (see #GPP).


Define action curve

#ACD

CurveNumber, x1, y1, x2, y2

The command creates its own action curve, which specifies the time course of the animation. There are 10 predefined curves that can be overwritten. CurveNumber (1-10) indicates the action curve that is overwritten. The action curve is a cubic Bézier curve. The control points of the curve are specified with the parameters x1, y1, x2 and y2. The value range of the parameters is for X 0 ... 100, for Y -200 ... 300.


Predefined action curves

The action curves indicate the time course of the animation. There are 10 predefined curves that can be changed (#ACD). The curves are cubic Bezier curves with two control points:

Action curve

1

Linear

#ACD 1, 10,10, 90,90

2

Accelerating → Linear

#ACD 2, 40,0, 60,40

3

Linear → Deceleration

#ACD 3, 40,60, 60,100

4

Accelerating → Linear → Deceleration

#ACD 4, 40,0 60,100

5

Undershoot Linear

#ACD 5, 30,0 30,-60

6

Linear Overshoot

#ACD 6, 70,160, 70,100

7

Undershoot Linear Overshoot

#ACD 7, 30,-60, 70,160

8

Swinging Linear

#ACD 8, 40,40, 20,-100

9

Linear Swinging

#ACD 9, 80,200, 60,60

10

Linear swinging Linear

#ACD 10, 60,200 40,-100