diff options
author | Ian C <ianc@noddybox.co.uk> | 2005-10-10 23:02:03 +0000 |
---|---|---|
committer | Ian C <ianc@noddybox.co.uk> | 2005-10-10 23:02:03 +0000 |
commit | 1a0ebdf8c3be922e435315fed852846a69db5691 (patch) | |
tree | 2dd9eb6866a08489a05da34e40a91c3980737d68 /vectorgfx | |
parent | 6e0bcb9499486bd42ceca53c52092534f36a9647 (diff) |
*** empty log message ***
Diffstat (limited to 'vectorgfx')
-rw-r--r-- | vectorgfx/test.bmx | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/vectorgfx/test.bmx b/vectorgfx/test.bmx index cbe1f64..c32da04 100644 --- a/vectorgfx/test.bmx +++ b/vectorgfx/test.bmx @@ -39,6 +39,24 @@ o2.AddLine(TVectorGfxLine.Create(-SIZE,-SIZE/2,-SIZE,SIZE/2,255,255,255,0)) o2.Save("obj2.2d") EndRem +Type FadeLine Extends TVectorGfxLineStyle + Method Draw:Int(x1:Int, y1:Int, x2:Int, y2:Int, r:Int, g:Int, b:Int, id:Int, colmap:TVectorGfxCollisionMap) + Local mask:Int=0 + Local lp:TList=DoLine(x1,y1,x2,y2) + + For Local p:TAlgoPoint=EachIn lp + SetColor(r,g,b) + mask:|colmap.SetCollision(p.x,p.y,id) + Plot(p.x,p.y) + r=Max(0,r-10) + g=Max(0,g-10) + b=Max(0,b-10) + Next + + Return mask + End Method +End Type + While Not KeyHit(KEY_ESCAPE) Cls @@ -57,6 +75,10 @@ While Not KeyHit(KEY_ESCAPE) VectorGfxSetThickAlpha(0.2) EndIf + If KeyHit(KEY_F4) + VectorGfxSetCustom(New FadeLine) + EndIf + o1.Draw(cm) o1.ang=(o1.ang+2) Mod 3600 @@ -64,6 +86,13 @@ While Not KeyHit(KEY_ESCAPE) o2.y=MouseY() o2.Draw(cm) + For Local l:TVectorGfxLine=EachIn o1.lines + Local p:TAlgoPoint[]=l.AdjustedCoords() + Local v:TVector=l.Normal() + SetColor(0,0,255) + DrawLine(p[0].x,p[0].y,p[0].x+v.x*20,p[0].y+v.y*20) + Next + DrawText MilliSecs() + ":Col=" + o2.Draw(cm),0,0 Flip |