Fenster im Kreis bewegen?

Anfängerfragen zum Programmieren mit PureBasic.
Blu-Ray
Beiträge: 15
Registriert: 21.05.2008 12:10

Fenster im Kreis bewegen?

Beitrag von Blu-Ray »

Hallo,

ich möchte ein Fenster zum Test im Kreis bewegen. Nach einigem googlen fand ich das hier (angepasst für PB):

Code: Alles auswählen

x = kreismittelpunktX + Cos(#PI*angle) * radius
y = kreismittelpunktY + Sin(#PI*angle) * radius
Die Kreismittelpunkte werden folgendermaßen berechnet:

Code: Alles auswählen

  breite = GetSystemMetrics_(#SM_CXSCREEN)
  hoehe = GetSystemMetrics_(#SM_CYSCREEN)
  kreismittelpunktX = breite / 2
  kreismittelpunktY = hoehe / 2
Leider bewegt sich das Fenster nach einem:

Code: Alles auswählen

ResizeWindow(#Window_0,x,y,#PB_Ignore,#PB_Ignore)
nicht wirklich im Kreis, sondern hängt rechts am Rand.

Wie heißen die Formeln richtig?

Blu-Ray
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

Sin(#PI*angle) ist falsch. Sin(#PI*angle/180) muss es heißen...

allerdings sollte es bei dem fehler nicht rechts am rand hängen, sondern irre durch die gegend huschen.
da hast du bestimmt noch nen anderen fehler eingebaut.

PS:
achja... das fenster ist an der linken oberen ecke ausgerichtet.
d.h. die fensterecke folgt der kreisbahn.
du solltest von x noch die halbe fensterbreite und von y die halbe fensterhöhe abziehen.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten