sure
there may be some redundant code in here, i knocked it up very quickly.
let me know what y'all think. Also, it lacks the crimsonland verocity, but that can easily be fixed, this was just to test.
''' community project for prophecy
Strict
Framework brl.glmax2d
Import brl.graphics
Import brl.linkedlist
SetGraphicsDriver GLMax2DDriver()
AppTitle = "Bullet Test - by Erick 'Deux' Grove"
Graphics 800,600,0
AutoMidHandle True
Global bulletimage:TImage = CreateImage(16,16,DynamicImage|MaskedImage)
Global bulletList:TList
Type bullet
Field x#
Field y#
Field origin_x#
Field origin_y#
Field scale_factor#
Field alpha_factor#
Field life#
Method draw()
SetColor 200,125,125
DrawRect x,y+(scale_factor*5),3,5
SetScale 1,scale_factor
SetColor 100,100,100
SetAlpha alpha_factor
DrawRect origin_x,origin_y,3,5
SetScale 1,1
SetAlpha 1
End Method
Method update()
y:-1
life:-1
scale_factor:-3
alpha_factor:-0.03
If(alpha_factor <0) ListRemove bulletList,Self
End Method
End Type
bulletList = CreateList()
Cls
SetColor 200,200,200
DrawRect 0,0,3,10
GrabImage bulletimage,0,0
SetBlend(alphablend)
Function UpdateBullets()
For Local b:bullet = EachIn bulletList
b.Draw()
b.Update()
Next
End Function
While Not KeyDown(KEY_ESCAPE)
SetScale 1,1
SetAlpha 1
If KeyHit(KEY_SPACE)
Local mybullet:bullet = New bullet
mybullet.life = 100
mybullet.alpha_factor=1
mybullet.x = MouseX()
mybullet.y = MouseY()
myBullet.origin_x = mybullet.x
myBullet.origin_y = mybullet.y
bulletList.addLast(mybullet)
End If
UpdateBullets()
Flip
Cls
Wend
FlushMem
End