enemies.bmx 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. '===============================================================================
  2. ' Little Shooty Test Thing
  3. ' Code & Stuff by Richard Olpin ([email protected])
  4. '===============================================================================
  5. ' enemies.bmx
  6. '===============================================================================
  7. Global enemies:TList=New TList
  8. Global num_enemies=0
  9. Global alien_img
  10. Type TEnemy
  11. Field link:TLink
  12. Field x#,y#
  13. Field xs#,ys#
  14. Field ang#, rs#;
  15. Field alpha#,img
  16. Field expl
  17. Field frame
  18. '-------------------------------------------------------------------
  19. ' Move / Draw
  20. '-------------------------------------------------------------------
  21. Method Update()
  22. x:+xs ; If x>WIDTH Or x<0 Then xs:*-1
  23. y:+ys ; If y>HEIGHT Or y<0 Then ys:*-1
  24. frame=(frame+1)&63
  25. 'SetRotation ang ; ang:+rs;
  26. SetAlpha 1
  27. SetBlend ALPHABLEND
  28. DrawImage img,x,y, frame/4
  29. CollideImage img,x,y,frame/4,0,1
  30. End Method
  31. Method hit()
  32. ' PlaySound explode, SoundChannel
  33. PlaySound explode
  34. TParticle.CreateExplosion(x,y)
  35. TParticle.ShowBonus(x,y,1)
  36. ' TParticle.ShowMult(x,y,Rand(9))
  37. enemies.remove(Self)
  38. num_enemies:-1
  39. End Method
  40. '-------------------------------------------------------------------
  41. Function CreateEnemy:TEnemy( x#,y# )
  42. Local enemy:TEnemy=New TEnemy
  43. enemy.x=x
  44. enemy.y=y
  45. enemy.alpha=0.1
  46. enemy.ang=0.0
  47. enemy.rs#=Rnd(0,4)
  48. enemy.Expl=0
  49. enemy.img=alien_img
  50. Repeat
  51. enemy.xs=Rnd(-6,6)
  52. Until enemy.xs<>0
  53. Repeat
  54. enemy.ys=Rnd(-6,6)
  55. Until enemy.ys<>0
  56. enemies.AddLast enemy
  57. num_enemies:+1
  58. End Function
  59. Function Init()
  60. SetMaskColor(255,0,255)
  61. alien_img=LoadAnimImage("gfx/spikeyball.png",64,64,0,16,MASKEDIMAGE)
  62. EndFunction
  63. End Type
  64. '----------------------------------------------------------------------
  65. ' End of file
  66. '---------------------------------------------------------------------