home *** CD-ROM | disk | FTP | other *** search
/ DarkBasic Professional / DarkBasicPro.iso / data1.cab / Lang_Files_(English) / Help / examples / sprite / sprite1-example.dba < prev    next >
Encoding:
Text File  |  2004-09-22  |  1.9 KB  |  84 lines

  1. rem Sprite Showcase
  2.  
  3. rem Standard Setup Code for all examples
  4. sync on : sync rate 0 : backdrop on : color backdrop 0
  5.  
  6. rem Load images
  7. set image colorkey 255,0,255
  8. create animated sprite 1, "animspr.bmp", 4, 4, 16
  9. load image "ship.bmp",2
  10. load image "backdrop.bmp",3
  11.  
  12. rem Setup backdrop sprite
  13. sprite 1001,0,0,3 : sprite 1002,0,0,3
  14. set sprite priority 1001,0 : set sprite priority 1002,0
  15. size sprite 1001,1024,1024 : size sprite 1002,1024,1024
  16.  
  17. rem Setup asteroid sprite
  18. sprite 1,320,240,16 : size sprite 1,128,128 : offset sprite 1,64,64
  19.  
  20. rem Array for finer asteroid data
  21. dim ast#(100)
  22.  
  23. rem Copy animating sprite
  24. for t=2 to 99
  25.  clone sprite 1,t
  26.  sprite t,rnd(640+256)-128,rnd(1400)-400,16
  27.  ast#(t)=sprite y(t)
  28.  rotate sprite t,rnd(350)
  29.  set sprite frame t,rnd(15)
  30.  set sprite t,0,1
  31.  a#=rnd(350) : s#=32
  32.  sss#=64+(cos(a#)*s#)
  33.  size sprite t,sss#,sss#
  34.  offset sprite t,sss#/2,sss#/2
  35.  if t<50
  36.   set sprite priority t,1
  37.  else
  38.   set sprite priority t,3
  39.  endif
  40. next t
  41.  
  42. rem Setup ship sprite
  43. sprite 100,200,140,2
  44. set sprite priority 100,2
  45.  
  46. rem Backdrop shift
  47. shiftx#=0
  48.  
  49. rem Main loop
  50. do
  51.  
  52.  rem Move backdrop
  53.  shiftx#=shiftx#+2.0
  54.  sya#=wrapvalue(sya#+0.1)
  55.  sy#=-260+(cos(sya#)*260)
  56.  if shiftx#>1024.0 then shiftx#=shiftx#-1024
  57.  sprite 1001,0-shiftx#,sy#,3 : sprite 1002,1024-shiftx#,sy#,3
  58.  
  59.  rem Control sprite auto-animation
  60.  for t=1 to 99
  61.   a#=wrapvalue(sprite angle(t)+1+rnd(2))
  62.   rotate sprite t,90
  63.   move sprite t,-3.0
  64.   ast#(t)=ast#(t)-(sin(sya#)*0.3)
  65.   if sprite x(t)<-128 then move sprite t,(640+256) : a#=rnd(350)
  66.   sprite t,sprite x(t),ast#(t),sprite image(t)
  67.   play sprite t,1,16,50
  68.   rotate sprite t,a#
  69.  next t
  70.  
  71.  rem Glide ship
  72.  g#=wrapvalue(g#+1)
  73.  h#=wrapvalue(h#+0.5)
  74.  sprite 100,200,140+(sin(g#)*10),2
  75.  scale sprite 100,100+sin(h#)*20.0
  76.  rotate sprite 100,sin(sya#)*10.0
  77.  
  78.  rem Update screen
  79.  sync
  80.  
  81. rem End loop
  82. loop
  83.  
  84.