diff --git a/collisiontest.p8 b/collisiontest.p8 index e34cde9..be7652c 100644 --- a/collisiontest.p8 +++ b/collisiontest.p8 @@ -114,7 +114,7 @@ end function _draw() cls(0) rect(bx0,by0,bx1,by1,6) - zot(lx1,ly1,0.75,lx1-lx0,ly1-ly0,10,9,8) + zot(lx1,ly1,0,lx1-lx0,ly1-ly0,10,9,8) --line(lx0,ly0,lx1,ly1,2) local cmin, cmax = collides() if cmin then @@ -145,12 +145,18 @@ function zot_one(x, y, r, ir, dx, dy, hot, warm) --line(x0,y0,x+rx,y+ry,hot) end -function zot(x,y,r,dx,dy,hot,cold) +function zot(x,y,r,dx,dy,hot,warm,cold) local x0,y0,sdx,sdy=x-dx,y-dy,sgn(dx),sgn(dy) local rx,ry=r*sdx,r*sdy + if cold then + rectfill(x0-rx,y0-ry,x0+rx,y0+ry,cold) + local sdxh,sdyh=sdx/2,sdy/2 + line(x0-rx-sdxh,y0+ry+sdyh,x-rx,y+ry,cold) + line(x0+rx+sdxh,y0-ry-sdyh,x+rx,y-ry,cold) + end for i=-r,r do - line(x0+i*sdx,y0-ry,x+rx,y-i*sdy,cold) - line(x0-rx,y0+i*sdy,x-i*sdx,y+ry,cold) + line(x0+i*sdx,y0-ry,x+rx,y-i*sdy,warm) + line(x0-rx,y0+i*sdy,x-i*sdx,y+ry,warm) end for i=-r,r do line(x0,y0,x+rx,y-i*sdy,hot)