ANIMATE Entity [,Modus] [,Geschw] [,Seq] [,Trans]


BeschreibungBlitz3D
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 LOADANIMENTITY 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".


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
-


Beispiel
Dieses Programm erstellt einen Würfel. Danach wird die Animation des Objekts definiert. Nun kann die Animation starten:

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