Kreisen ?! :-(

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
Benutzeravatar
Stuhli
Beiträge: 75
Registriert: 18.10.2004 10:05

Kreisen ?! :-(

Beitrag von Stuhli »

Hi, für Euch ist´s sicherlich Kleinkram, aber ich kanns einfach nicht. In der Schule kam bei uns Sinus und Cosinus leider nicht mehr dran - Zeitmangel ! :freak:

Ich habe folgenden Code (deutlich abgespeckt !)

Code: Alles auswählen

OpenWindow(1,0,0,1000,1000,"Kreisen",#PB_Window_WindowCentered)
 ButtonGadget(10,480,480,40,40,"EXIT")

 StartDrawing(WindowOutput(1))
  Circle(500,500,200,0)
  For t=1 To 360 step 5
   x= ????
   y= ????
   Box(x,y,50,25,0) <----- Diese Box soll um den Kreis kreisen
  Next
 StopDrawing()
 
Repeat
 Delay(1)
 Event=WindowEvent()
 Select event 
  Case #PB_Event_Gadget
   Select EventGadget()
    Case 10
      End
   EndSelect  
 EndSelect
ForEver
wie muss ich es machen, dass diese 50x25er BOX um den Kreis kreist ?? Ich raffs nicht, sorry.
SYNTAX ERROR IN 30! TYPE MISMATCH
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8675
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken
Kontaktdaten:

Re: Kreisen ?! :-(

Beitrag von NicTheQuick »

Der Code ansich ist schon nicht korrekt. Man sieht ja gar nichts, weil du auf's Fenster malst und das direkt wieder weg ist.
Hier ein funktionierendes Beispiel, aber ohne Button:

Code: Alles auswählen

OpenWindow(1, 0, 0, 1000, 1000, "Kreisen", #PB_Window_WindowCentered)
CanvasGadget(10, 0, 0, 1000, 1000)

If StartDrawing(CanvasOutput(10))
	Circle(500, 500, 200, 0)
	For t = 0 To 360 Step 5
		x = 500 + Cos(Radian(t)) * 500
		y = 500 + Sin(Radian(t)) * 500
		Box(x, y, 50, 25, 0)
	Next
	StopDrawing()
EndIf

Repeat
	Event = WaitWindowEvent()
	Select event
		Case #PB_Event_CloseWindow
			Break
	EndSelect
ForEver
Bild
Benutzeravatar
Stuhli
Beiträge: 75
Registriert: 18.10.2004 10:05

Re: Kreisen ?! :-(

Beitrag von Stuhli »

Danke, wie schon geschrieben, der Code ist abgespeckt. Das mit dem Radius hab ich einfach nicht hinbekommen, danke
SYNTAX ERROR IN 30! TYPE MISMATCH
Benutzeravatar
tft
Beiträge: 605
Registriert: 08.09.2004 20:18
Computerausstattung: GTX Titan , i9 9900K , 32 GB Ram , 500 GB SSD , 3 ASUS FullHD Monitore and more
Wohnort: Dachsen
Kontaktdaten:

Re: Kreisen ?! :-(

Beitrag von tft »

Hier habe ich noch was lustiges zu diesem Thema ......

Code: Alles auswählen


Define x.f, y.f, dx.f, dx.f, len

len = 100
x = 200
y = 200

For winkel = 0 To 359 Step 1
  alpha.f = Radian(winkel)
  dx = x + (Sin(alpha) * len)
  dy = y + (Cos(alpha) * len)
  Debug "w = " + winkel +" dx = " + dx + " dy = " + dy
  SetCursorPos_(dx,dy)
  Delay(10)
Next

Gruss TFT
TFT seid 1989 , Turgut Frank Temucin , Dachsen/Berlin/Antalya
Aktuelles Projekte : Driving School Evergarden
YouTube : Pure Basic to go
FaceBook : Temuçin SourceMAgic Games
DISCORD : SourceMagic
W10 , i9 9900K ,32 GB Ram , GTX Titan , 3 Monitore FHD
ARDUINO Freak :-)
Antworten