animate comand

Blitz3D Forums/Blitz3D Beginners Area/animate comand

Alberto(Posted 2003) [#1]
I am confused about the Animate and the keydown() comand
here it is my first simple code with blitz3d

While Not KeyHit(1)

If KeyDown(57) Then
Animate man,1
Else
Animate man,0
EndIf

UpdateWorld
RenderWorld
Flip
Wend
End

I was expecting that the animation starts and keeps playing when I hold down the space bar and that it stops when I realese it
but nothing happen, the animation remains still.
the animation in .b3d format is ok and it has been loaded with the man = loadAnimMesh() comand
Can you help me ?
Thanks in advance


jfk EO-11110(Posted 2003) [#2]
the animate command starts an animation. so in this case it will start it again and again if you press enter. so you will always see the first frame only.

once an animation is started, it will be updated by the UpdateWorld() Function, best called right before RenderWorld().


Pongo(Posted 2003) [#3]
This code is actually working, you just can't see it working. ;)

Anytime the animate command is used it starts the animation at the first frame,... what is happening in your example is that the code keeps resetting the animation to the first frame and does not advance beause it loops back to the first frame continually. edit: oops,... JFK beat me to it!

Take a look at the SetAnimTime command as this will give you full control over the frame/speed of your animations.

Otherwise, change your example to use keyhit instead of keydown, like this.

If KeyHit(200) ;up arrow
Animate man,1
EndIf

If KeyHit(208) ;down arrow
Animate man,0
EndIf

hope that helps.


(tu) sinu(Posted 2003) [#4]
or do a check for which animation is playing


if keydown(200)
if not animseq(man)= 1
Animate man,1
EndIf
endif


MSW(Posted 2003) [#5]

Switch% = 0

While Not KeyHit(1) 

If KeyDown(57) Then 

 If Switch% = 0 Then
   Animate man,1 
   Switch% = 1
 End If


Else 

 Animate man,0 
 switch% =0

EndIf 


UpdateWorld 
RenderWorld 
Flip 
Wend 
End 



Alberto(Posted 2003) [#6]
Thanks all for your support
Now it is clear