Hilfe

Animate

B3D

Aufruf

Animate entity% [, modus%] [, geschw%] [, seq%] [, trans#]

Parameter

entity% Identität eines Objekts (entity)
modus% Animationsmodus
0=stop
1=loop
2=ping-pong
3=start
geschw% Animationsgeschwindigkeit
(Standard=1)
seq% Nummer der Animationssequenz
(Standard=0)
trans# Animationsübergang zwischen Sequenzen
(Standard=0)


Rückgabewert

-


Beschreibung

Die Anweisung Animate ändert die Animationsart eines Objekts.

Dazu muss man die Identität eines Objekts angeben.

Danach den "Modus" angeben (0=stoppt die Animation, 1=spielt im Loop, 2=spielt eine Animation hin und her, 3=spielt eine Animation nur 1x ab).

Mit dem Parameter "Geschw" kann man die Geschwindigkeit ändern (Standard ist 1). Wird eine negative Nummer angegeben, dann wird die Animation rückwärts abgespielt.

Ein Entity, das mit LoadAnimMesh geladen wurde, hat zu Beginn nur eine Animationssequenz. Weitere können mit LoadAnimSeq oder mit AddAnimSeq hinzugefügt werden. Die Nummer der Sequenz beginnt mit 0.

Mit dem Parameter "Trans" kann man den Animationsübergang einstellen. Wird der Wert 0 übergeben, dann erscheint zwischen den Animationssequenzen ein Animationssprung. Bei einem größeren Wert als 0, wird die Animation "geglättet".


Beispiel

Dieses Beispiel zeigt die Wirkung verschiedener Animationsbefehle:

Graphics3D 640, 480, 16, 2
SetBuffer BackBuffer()
camera = CreateCamera()
light = CreateLight()
cube = CreateCube()
PositionEntity camera, 0, 0, - 5
RotateEntity light, 90, 0, 0
EntityColor cube, 150, 200, 250

RotateEntity cube, 0, 0, 0
PositionEntity cube, - 2, 0, 2
SetAnimKey cube, 0

RotateEntity cube, 30, 30, 30
PositionEntity cube, 2, 0, 2
SetAnimKey cube, 100, 1, 1

RotateEntity cube, 180, 60, 60
PositionEntity cube, - 2, - 2, 5
ScaleEntity cube, 1, .5, 2

SetAnimKey cube, 200
AddAnimSeq cube, 200
Animate cube, 2

While Not KeyHit(1)
UpdateWorld
RenderWorld
Text 0, 0, "Animating:" + Animating(cube)
Text 0, 20, "AnimLength:" + AnimLength(cube)
Text 0, 40, "AnimSeq:" + AnimSeq(cube)
Text 0, 60, "AnimTime:" + AnimTime(cube)
Flip
Wend
End


Siehe auch

AddAnimSeq, AnimateMD2, Animating, AnimLength, AnimSeq, AnimTime, ExtractAnimSeq, LoadAnimMesh, LoadAnimSeq, SetAnimKey, SetAnimTime, UpdateWorld

Übersicht 3D Grafik Animation