entity - entity handle
length - |
Creates an animation sequence for an entity. This must be done before any animation keys set by SetAnimKey can be used in an actual animation however this is optional. You may use it to "bake" the frames you have added previously using SetAnimKey.
Returns the animation sequence number added. |
;Create 3d animation example
;Set up a simple nice looking level Graphics3D 640,480 camera=CreateCamera() PositionEntity camera,0,12,-12 RotateEntity camera,35,0,0 light=CreateLight(2) PositionEntity light,1000,1000,-1000 ground=CreatePlane(2) EntityAlpha ground,0.5 EntityColor ground,0,0,255 mirror=CreateMirror() ;Lets make a bouncing ball that squashes on impact with the floor. ball=CreateSphere(16) EntityShininess ball,1 EntityColor ball,255,0,0 ; Lets animate him and "record" the 3D animation for later playback bloat#=0 : flatten#=0 : ypos#=10 For frame=1 To 10 ;Drop the ball from height 10 to 2 ypos = ypos - spd# spd#=spd#+.2 PositionEntity ball,0,ypos,0 ScaleEntity ball,1+bloat,1+flatten,1+bloat ;If the ball is low enough make it look increasingly squashed If frame>8 bloat=bloat+1.5 flatten=flatten-.25 Else flatten=flatten+.05 EndIf ;Record the frame! SetAnimKey ball,frame Next ;Now we need to add the frames we've just made to the sequence of "film"! seq = AddAnimSeq(ball,frame-1) ; total number of frames ;Play it back ping-pong! Animate ball,2,0.15 While Not KeyHit(1) UpdateWorld RenderWorld Flip Wend End |