From cf0e1b5f3422dc1adc60b1684591ab0962c441bb Mon Sep 17 00:00:00 2001 From: Ian C Date: Mon, 5 Dec 2005 00:59:34 +0000 Subject: Updates and added help page --- particle.bmx | 112 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 112 insertions(+) (limited to 'particle.bmx') diff --git a/particle.bmx b/particle.bmx index fbf2b6f..40a9c24 100644 --- a/particle.bmx +++ b/particle.bmx @@ -204,3 +204,115 @@ Type TextParticles SetScale(1,1) End Function End Type + + +Type TExplosionBase + Field p:TPixmap[4] + + Function Create:TExplosionBase(base:TImage) + Local o:TExplosionBase=New TExplosionBase + o.p=New TPixmap[4] + o.p[0]=GrabFrom(base,0,0) + o.p[1]=GrabFrom(base,16,0) + o.p[2]=GrabFrom(base,0,16) + o.p[3]=GrabFrom(base,16,16) + Return o + End Function + + Function GrabFrom:TPixmap(i:TImage,x:Int, y:Int) + Local p:TPixmap=LockImage(i) + Local ret:TPixmap=p.Copy() + ret=ResizePixmap(ret,16,16) + For Local cx:Int=0 Until 16 + For Local cy:Int=0 Until 16 + ret.WritePixel(cx,cy,p.ReadPixel(x+cx,y+cy)) + Next + Next + UnlockImage(i) + Return ret + End Function +End Type + +Type TExplosion_Old + Field x:Double + Field y:Double + Field dy:Double + Field dx:Double + Field p:TPixmap + + Function Create:TExplosion(p:TPixmap,x:Double,y:Double,dx:Double,dy:Double) + Local o:TExplosion=New TExplosion + o.x=x + o.y=y + o.dx=dx + o.dy=dy + Return o + End Function + + Method Update:Int() + DrawPixmap(p,x,y) + x:+dx + y:+dy + dy:+0.05 + Return dx>-16 And dx-16 And dx