You already have the endpoints for the contour, now just plot the points that draw another new contour one circle radius on the inside of the existing contour. That is the path you will need to follow.
To plot the "path" contour programatically, you'll need a "line intersect function", a "distance function", and the use of the "Atan2" function. The first two functions can be found in the code archives, the third is an intrinsic function of Blitz+.
For actually moving the circle one pixel at a time you'll need to use Sin() and Cos() functions. An example of moving along a line at 45 degrees (south east) use something like this:
Just make sure the circle is large enough to fully encompass any sprite you might use.
Andy
To plot the "path" contour programatically, you'll need a "line intersect function", a "distance function", and the use of the "Atan2" function. The first two functions can be found in the code archives, the third is an intrinsic function of Blitz+.
For actually moving the circle one pixel at a time you'll need to use Sin() and Cos() functions. An example of moving along a line at 45 degrees (south east) use something like this:
;to move from 100,100 to 300,300 Graphics 640,480,32,2 SetBuffer BackBuffer() For f# = 100 To 300 Step 1.414 x% = Cos(45) * f# + 100 y% = Sin(45) * f# + 100 toggle% = 1 - toggle If toggle = 1 Then Color 255,0,0 Else Color 255,255,255 ;Color Rand(128,255),Rand(128,255),Rand(128,255) Oval x, y, 20, 20, False Flip Next WaitMouse() End
Just make sure the circle is large enough to fully encompass any sprite you might use.
Andy