createanim.bb 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. Global info1$="Manual animation creation demo"
  2. Global info2$="Hit <return> to swap between sequences"
  3. Global info3$="Hit <space> to toggle transitions"
  4. Include "../start.bb"
  5. tex=CreateTexture( 64,64 )
  6. SetBuffer TextureBuffer( tex )
  7. Color 255,0,0:Rect 0,0,32,32:Rect 32,32,32,32
  8. Color 255,128,0:Rect 32,0,32,32:Rect 0,32,32,32
  9. SetBuffer BackBuffer()
  10. Color 255,255,255
  11. cube=CreateCube()
  12. EntityTexture cube,tex
  13. ;set animation keys
  14. RotateEntity cube,0,0,0
  15. PositionEntity cube,0,0,0
  16. SetAnimKey cube,0
  17. RotateEntity cube,0,90,0
  18. PositionEntity cube,0,0,10
  19. SetAnimKey cube,60
  20. RotateEntity cube,0,180,0
  21. PositionEntity cube,10,0,10
  22. SetAnimKey cube,120
  23. RotateEntity cube,0,270,0
  24. PositionEntity cube,10,0,0
  25. SetAnimKey cube,180
  26. RotateEntity cube,0,0,0
  27. PositionEntity cube,0,0,0
  28. SetAnimKey cube,240
  29. ;create animation sequence 0
  30. AddAnimSeq cube,240
  31. ;set animation keys
  32. ScaleEntity cube,1,1,1
  33. PositionEntity cube,5,0,5
  34. SetAnimKey cube,0
  35. ScaleEntity cube,5,1,1
  36. SetAnimKey cube,30
  37. ScaleEntity cube,1,1,1
  38. SetAnimKey cube,60
  39. ScaleEntity cube,1,5,1
  40. SetAnimKey cube,90
  41. ScaleEntity cube,1,1,1
  42. SetAnimKey cube,120
  43. AddAnimSeq cube,120
  44. camera=CreateCamera()
  45. PositionEntity camera,5,3,-10
  46. light=CreateLight()
  47. TurnEntity light,45,45,0
  48. Animate cube
  49. FlushKeys
  50. trans=20
  51. While Not KeyHit(1)
  52. If KeyHit(57) trans=20-trans
  53. If KeyHit(28) Animate cube,1,1,1-AnimSeq(cube),trans
  54. UpdateWorld
  55. RenderWorld
  56. Text 0,FontHeight()*0,"Anim seq: "+AnimSeq( cube )
  57. Text 0,FontHeight()*1,"Anim len: "+AnimLength( cube )
  58. Text 0,FontHeight()*2,"Anim time:"+AnimTime( cube )
  59. Text 0,FontHeight()*4,"Transition time:"+trans
  60. Flip
  61. Wend
  62. End