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

  1. rem Input Showcase
  2.  
  3. rem Standard Setup Code for all examples
  4. sync on : sync rate 120 : hide mouse
  5. set text font "arial" : set text size 16
  6. set text to bold : set text transparent
  7.  
  8. rem Prepare Force Feedback (if available)
  9. desc$="Machine Gun Joystick"
  10. ForcePresent=0
  11. empty checklist
  12. PERFORM CHECKLIST FOR CONTROL DEVICES
  13. for c=1 to checklist quantity()
  14.  if checklist value a(c)=1
  15.   SET CONTROL DEVICE checklist string$(c)
  16.   ForcePresent=1
  17.   desc$=desc$+" (with Force)"
  18.  endif
  19. next c
  20.  
  21. rem Load wall and images
  22. set image colorkey 255,0,255
  23. load bitmap "wall.bmp",1
  24. load image "hole.bmp",1
  25. load image "crosshair.bmp",2
  26. load image "fire.bmp",3
  27.  
  28. rem Load sound
  29. load sound "gun.wav",1
  30. for t=2 to 10
  31.  clone sound t,1
  32. next t
  33.  
  34. rem Setup crosshair sprite
  35. set current bitmap 0
  36. set sprite 1,0,1
  37. offset sprite 1,16,16
  38. draw to back
  39.  
  40. rem Setup bullet sprite
  41. sprite 2,-100,-100,1
  42. set sprite 2,0,1
  43. offset sprite 2,8,8
  44. size sprite 2,16,16
  45. set sprite alpha 2,128
  46.  
  47. rem Particle effect setup
  48. autocam off : backdrop off
  49. make particles 1,3,50,2.0
  50. rotate particles 1,270,0,0
  51. set particle speed 1,0.02
  52.  
  53. rem Set start pos
  54. posx#=320
  55. posy#=240
  56.  
  57. rem Main loop
  58. do
  59.  
  60. rem Read joystick
  61. posx#=posx#+(joystick x()/500.0)
  62. posy#=posy#+(joystick y()/500.0)
  63. posx=posx# : posy=posy#
  64. fire=joystick fire a()
  65.  
  66. rem Paste backdrop
  67. copy bitmap 1,0
  68.  
  69. rem Position crosshair
  70. sprite 1,posx,posy,2
  71.  
  72. rem Make bullet hole if triggered
  73. if fire=1 and cool=0
  74.  
  75.  rem Make bullet hole
  76.  set current bitmap 1
  77.  r#=rnd(359)
  78.  rx=cos(r#)*rnd(20)
  79.  ry=sin(r#)*rnd(20)
  80.  paste sprite 2,posx+rx,posy+ry
  81.  paste sprite 2,1000,1000
  82.  set current bitmap 0
  83.  
  84.  rem Generate some particles
  85.  position particles 1,0,0,5
  86.  position particle emissions 1,(posx-320)/120.0,0,(240-posy)/120.0
  87.  emis=2
  88.  
  89.  rem Hear machine gun
  90.  cool=10
  91.  for t=1 to 10
  92.   if sound playing(t)=0 then play sound t : t=11
  93.  next t
  94.  
  95.  rem Gun recoil
  96.  if ForcePresent=1 then force shoot 100,100
  97.  
  98. endif
  99. if cool>0 then dec cool
  100.  
  101. rem Control emissions
  102. set particle emissions 1, emis
  103. if emis>0 then dec emis
  104.  
  105. rem Show Framerate
  106. ink rgb(255,255,255),0 : text 20,screen height()-40,desc$
  107. fps$="DBPro Fps: "+str$(screen fps())
  108. text screen width()-20-text width(fps$),screen height()-40,fps$
  109.  
  110. rem Update screen
  111. sync
  112.  
  113. rem End loop
  114. loop
  115.