ich schlage mich als Anfänger mit wohl einfachen Problemen herum.
Das folgende Program habe ich aus zwei Beispielen zusammen geschrieben.
Es werden erst Kreise und dann ein kreisender Strich gezeichnet.
Das funktioniert auch soweit.
Ich möchte aber in einer andauernden Schleife immer weiter die Striche sich kreisen lassen, bis ich das Fenster schließe.
Könnt ihr mir bei diesem Problemchen helfen?
Danke
Code: Alles auswählen
;PureBasic DEMO 4.00
; Mehrere Kreise in zufälligen Farben
InitSprite()
InitKeyboard()
Width=700
Height=500
#ScreenBits = 32
MiddleX = Width / 2
MiddleY = Height / 2
Radius = 100
Procedure.f GSin(winkel.f)
; Eingabe: Winkel ( 0 - 360 )
; Ausgabe: Sinus vom Winkel
ProcedureReturn Sin(winkel*(2*3.14159265/360))
EndProcedure
Procedure.f GCos(winkel.f)
; Eingabe: Winkel ( 0 - 360 )
; Ausgabe: Cosinus vom Winkel
ProcedureReturn Cos(winkel*(2*3.14159265/360))
EndProcedure
Width=700
Height=500
If OpenWindow(0, 0, 0, Width, Height, "Lines", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
If StartDrawing(WindowOutput(0))
x = Width/2
y = Height/2
For Radius = Height/3 To 10 Step -10
Circle(x, y, radius ,RGB(Random(255),Random(255),Random(255)))
Next
StopDrawing()
EndIf
EndIf
Delay(1000)
x = Width/4
y = Height/4
;If StartDrawing(WindowOutput(0))
; LineXY(410,410,550,655, $0000ff)
; StopDrawing()
; EndIf
;Striche wandern im Kreis
If StartDrawing(WindowOutput(0))
Radius = Height/3
For grad=0 To 359 Step 1
LineXY(x,y,x+GSin(grad)*Radius,y+GCos(grad)*Radius, RGB(Random(255),Random(255),Random(255)))
Delay(10)
Next
StopDrawing()
EndIf
Repeat : Event = WaitWindowEvent() : Until Event = #PB_Event_CloseWindow
;Delay(3000) ;
End
;Problem: Ich möchte die letzte Schleige mit den wandernden Strichen solange durchlaufebn lassen,
;bis das Fenster gescholossen wird. Bislang wird das Programm durchlaufen und dann gewartet, dass
;das Fenster geschlossen wird. Eine andauernde Wiederholung habe ich nicht hinbekommen.