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

  1. rem Bitmap Showcase
  2.  
  3. rem Standard Setup Code for all examples
  4. sync on : sync rate 0 : draw to back
  5. set text font "arial" : set text size 20
  6. set text to bold : set text transparent
  7.  
  8. rem Load backdrop
  9. load bitmap "foliage.jpg"
  10. get image 1,0,0,640,480
  11.  
  12. rem Produce Title
  13. ink rgb(0,0,0),0 : center text (screen width()/2)+1,7,"BMP DDS DIB JPG PNG RLE TGA"
  14. ink rgb(255,255,255),0 : center text screen width()/2,6,"BMP DDS DIB JPG PNG RLE TGA"
  15.  
  16. rem Create offscreen sprite
  17. set sprite 1,0,1
  18. set sprite alpha 1,128
  19. offset sprite 1,(640-96)/4,(450-96)/4
  20. size sprite 1,(640-96)/2,(450-96)/2
  21. sprite 1,320,48+((450-96)/2),1
  22.  
  23. rem Create offscreen bitmap
  24. create bitmap 2,640,480
  25. set current bitmap 0
  26.  
  27. rem Main loop
  28. do
  29.  
  30. rem Provide backdrop to visual screen
  31. set current bitmap 2
  32. sprite 2,320,240,1
  33. sr#=350+(cos(a#)*10)
  34. rotate sprite 2,sr#
  35. size sprite 2,1000,800
  36. offset sprite 2,512,384
  37. set sprite alpha 2,100
  38. set sprite 2,0,0
  39. paste sprite 2,320,240
  40. sprite 2,-2000,-2000,1
  41. set current bitmap 0
  42. copy bitmap 2,48,48,640-48,450-48,0,48,48,640-48,450-48
  43.  
  44. rem Rotate sprite
  45. a#=wrapvalue(a#+2)
  46. r#=350+(cos(a#)*10)
  47. rotate sprite 1,r#
  48. set sprite alpha 1,128
  49. sprite 1,320,48+((450-96)/2),1
  50. set sprite 1,0,0
  51. s#=s#+0.5 : if s#>100 then s#=100
  52. size sprite 1,((640-96)/2)*(s#/100.0),((450-96)/2)*(s#/100.0)
  53.  
  54. rem Show filename
  55. ink rgb(255,255,255),0
  56. center text 320,350,file$
  57.  
  58. rem Show Buttons
  59. over=0
  60. for but=1 to 3
  61.  for high=0 to 1
  62.   if high=0 then ink rgb(20,20,20),0 : bx=-1 : by=-1
  63.   if high=1 then ink rgb(100,200,100),0 : bx=0 : by=0
  64.   if high=1 and mousey()>420 and mousey()<460
  65.    if but=1 and abs(mousex()-170)<50 then ink rgb(255,255,255),0 : over=1
  66.    if but=2 and abs(mousex()-320)<50 then ink rgb(255,255,255),0 : over=2
  67.    if but=3 and abs(mousex()-470)<50 then ink rgb(255,255,255),0 : over=3
  68.   endif
  69.   if but=1 then but$="PREV"
  70.   if but=2 then but$="NEXT"
  71.   if but=3 then but$="EXIT"
  72.   center text 320+bx+((but-2)*150),420+by,but$
  73.  next high
  74. next but
  75.  
  76. rem Controls
  77. if mouseclick()=1
  78.  if once=0
  79.   once=1
  80.   if over=1 then pic=pic-1 : picload=1 : s#=0
  81.   if over=2 then pic=pic+1 : picload=1 : s#=0
  82.   if picload=1
  83.    picload=0
  84.    if pic<0 then pic=6
  85.    if pic>6 then pic=0
  86.    if pic=0 then file$="2DFiles\logo.bmp"
  87.    if pic=1 then file$="2DFiles\logo.dds"
  88.    if pic=2 then file$="2DFiles\logo.dib"
  89.    if pic=3 then file$="2DFiles\logo.jpg"
  90.    if pic=4 then file$="2DFiles\logo.png"
  91.    if pic=5 then file$="2DFiles\logo.rle"
  92.    if pic=6 then file$="2DFiles\logo.tga"
  93.    load bitmap file$,1
  94.    if bitmap exist(1)=1
  95.     get image 1,0,0,bitmap width(1),bitmap height(1)
  96.     set current bitmap 0
  97.     delete bitmap 1
  98.    endif
  99.   endif
  100.   if over=3 then end
  101.  endif
  102. else
  103.  once=0
  104. endif
  105.  
  106. rem Update screen
  107. sync
  108.  
  109. rem End loop
  110. loop
  111.