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

  1. rem Memblocks Showcase
  2.  
  3. rem Requires 640x480x16 fullscreen
  4. sync on : sync rate 0 : hide mouse
  5.  
  6. rem Create array for wavedata
  7. dim wave_table(72)
  8. for i = 1 to 72
  9.    wave_table(i) = int(sin(i*5)*20.0)
  10. next i
  11.  
  12. rem Load the first image and store it in memblock 1
  13. load bitmap "groovy.jpg",0
  14. make memblock from bitmap 1,0
  15. make memblock from bitmap 2,0
  16.  
  17. rem Required variables
  18. linesize = 640 * 2
  19. topI = 0
  20.  
  21. rem Main loop
  22. while mouseclick()=0
  23.  
  24.  rem Wrap topI variable
  25.  topI = topI + 1
  26.  if topI > 72 then topI = 1
  27.  rollingI = topI
  28.  
  29.  rem For each vertical position
  30.  for i = 0 to 479
  31.  
  32.  rem Calculate positions
  33.  fromposition = 52 + (i*linesize)
  34.  toposition = fromposition+(wave_table(rollingI)*2)
  35.  
  36.  rem Copy data from one area of memblock to another memblock
  37.  copy memblock 1,2,FromPosition,ToPosition,1200
  38.  
  39.  rem Advance roll effect
  40.  rollingI = rollingI+1
  41.  if rollingI > 72 then rollingI = 1
  42.  
  43. next i
  44.  
  45. rem Update screen with memblock containing wave-bitmap
  46. make bitmap from memblock 0,2 : sync
  47.  
  48. rem End loop
  49. endwhile
  50.  
  51. rem Remove the memblocks before we exit
  52. delete memblock 1
  53. delete memblock 2
  54.  
  55.