Ok, I think I understand what you want - you want a circle with a number of lines radiating from the centre to the circumference, and for those lines to rotate within the circle. Correct?
sync on
sync rate 60
local Offset as float = 0.0
CentreX = screen width()/2
CentreY = screen height()/2
Radius = IntMin( CentreX, CentreY ) - 5
while scancode() = 0
cls
inc Offset, 0.25 ` Increase this number to rotate the lines faster, or decrease for slower
if Offset >= 360.0 then dec Offset, 360.0
DrawIt(CentreX, CentreY, Radius, 80, Offset)
sync
endwhile
end
` You could use the 'min' function in my plug-ins rather than write this:
function IntMin(x as integer, y as integer)
if x < y then exitfunction x
endfunction y
function DrawIt(cx as integer, cy as integer, Radius as integer, NumLines as integer, AngleOffset as float)
local i as integer
local AngleStepSize as float
local Angle as float
local x as integer
local y as integer
circle cx, cy, radius
` Calculate the difference in angle between each line ending on the circumference
AngleStepSize = 360.0 / NumLines
Angle = AngleOffset
for i = 1 to NumLines
` Calculate the offset to the circumference
x = sin(Angle) * Radius
y = cos(Angle) * Radius
` Line from the circle centre to the circumference
line cx, cy, cx + x, cy - y
` Calculate the angle for the next line
inc Angle, AngleStepSize
next
endfunction
Obviously, rename the 'DrawIt' function to something much more meaningful to you.