Du kannst bei LineXY() auch dem Startpunkt einen Radius mit draufgeben, z.B. 0.5 mal deinen vollen Radius, dann zeichnet er von der Hälfte bis außen (1.0*Radius). Genauso kannst du den End-Radius auch verringern, z.B. (0.75*Radius).
Code: Alles auswählen
EnableExplicit
Define ww, wh, style, win, canvas, event, quit
ww=800
wh=600
style | #PB_Window_ScreenCentered
style | #PB_Window_SystemMenu
style | #PB_Window_MinimizeGadget
win = OpenWindow(#PB_Any, 50,100, ww,wh, "", style)
AddKeyboardShortcut(win, #PB_Shortcut_Escape, 10)
canvas = CanvasGadget(#PB_Any, 0, 0, ww, wh, #PB_Canvas_Keyboard)
StartDrawing(CanvasOutput(canvas))
Define a.f = 0
Define r.f = 100
While a < 360
; grün: ganze Linie von r 0 (Mittelpunkt) zu r (ganz außen)
LineXY(ww/2,
wh/2,
ww/2 + (r * Cos(Radian(a))),
wh/2 + (r * Sin(Radian(a))),
$00ff00)
; rot: Teilradius, *0 wäre Mittelpunkt, *1.0 wäre ganz außen also voll r
Define r1.f = r * 0.5
Define r2.f = r * 0.75
LineXY(ww/2 + (r1 * Cos(Radian(a))),
wh/2 + (r1 * Sin(Radian(a))),
ww/2 + (r2 * Cos(Radian(a))),
wh/2 + (r2 * Sin(Radian(a))),
$0000ff)
a + 20
Wend
StopDrawing()
Repeat
event = WaitWindowEvent(100)
Select event
Case #PB_Event_CloseWindow
quit = #True
Case #PB_Event_Menu
Select EventMenu()
Case 10
quit = #True
EndSelect
EndSelect
Until quit