Eigene Gui
Übersicht

![]() |
LINKedBetreff: Eigene Gui |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich bin gerade dabei eine eigene Gui zu erstellen.
Ich habe allerdings ein Problem mit den Fenstern. ![]() Code: [AUSKLAPPEN] For win.Window = Each Window
mx = MouseX() my = MouseY() mxs=MouseXSpeed() mys=MouseYSpeed() If RectsOverlap(win\X,win\Y,win\W,24,mx,my,1,1) Then If MouseDown(1) Then win\X=win\X+mxs win\Y=win\Y+mys EndIf EndIf Wenn ich die Maus beim bewegen des Fensters zu schnell bewege bleibt das Fenster stehen. Wie bewegt man das Fenster solange bis man die Maus loslässt ![]() Vielen Dank schonmal. mfG LINKed |
||
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Erstmal würde ich den Code so umstellen, denn du musst nicht für jedes Fenster eine neue Maus-Position berechnen lassen, da sie sich während dem Vorgang sowieso nicht verändert.
Code: [AUSKLAPPEN] mx = MouseX()
my = MouseY() mxs=MouseXSpeed() mys=MouseYSpeed() For win.Window = Each Window If RectsOverlap(win\X,win\Y,win\W,24,mx,my,1,1) Then If MouseDown(1) Then win\X=win\X+mxs win\Y=win\Y+mys EndIf EndIf Zu deinem Problem hab ich aber nicht viel konstruktives beizutragen, da für mich alles ganz logisch aussieht ^^ |
||
Twitter
Download Jewel Snake! Windows|Android |
![]() |
the FR3AK |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wie es geht weiss ich net aber warum das Fenster stehen bleibt kann ich dir sagen;)
Wenn du die Maus zu schnell bewegst liegt irgendwann mal die Maus ausserhalb des Fensterbereiches also wird das Fenster dadurch nicht mehr mitpositioniert und es bleibt stehen ![]() [EDIT] Habe eine Lösung gefunden ^_^ Hier mal n kleiner Code wie ichs gemacht habe: Code: [AUSKLAPPEN] ;KLICKE MIT DER MAUS AUF DAS WEISSE VIERECK UND VERSCHIEBE ES! Graphics 800,600,32,2 SetBuffer BackBuffer() x=100 y=100 movewindow=0 While Not KeyHit(1) Cls If MouseDown(1) Then If MouseX()>x And MouseX()<x+100 Then If MouseY()>y And MouseY()<y+100 Then movewindow=1 Else Rect x,y,100,100,1 End If Else Rect x,y,100,100,1 End If Else movewindow=0 Rect x,y,100,100,1 End If If movewindow=1 Then x=MouseX()-50 y=MouseY()-50 Rect x,y,100,100,1 End If Flip Wend So, in dem Code habe ich einfach eine Variable erstellt, die wenn die Maustaste gedrückt ist und die Maus im Fenster ist, auf 1 gesetzt wird solange bis die Maustaste wieder losgelassen wird. Während die Variable (Movewindow) auf 1 gesetzt ist, wird das Fenster an der Position der Maus positioniert, wenn die Variable auf 0 ist, dann wird das Fenster einfach an der stelle stehen gelassen, wo es ist ^_^ Ich hoffe das hilft. mfg |
||
![]() |
ThunderBetreff: Re: Eigene Gui |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] For win.Window = Each Window
mx = MouseX() my = MouseY() mxs=MouseXSpeed() mys=MouseYSpeed() If RectsOverlap(win\X,win\Y,win\W,24,mx,my,1,1) Then If MouseDown(1) Then win\X=win\X+mxs win\Y=win\Y+mys EndIf EndIf Ich hab mir auch eine GUI geschrieben, kann sie jetzt leider nicht finden, aber ich glaube ich habe das so gemacht: Code: [AUSKLAPPEN] For win.Window = Each Window
mx = MouseX() my = MouseY() mxs=MouseXSpeed() mys=MouseYSpeed() If RectsOverlap(win\X,win\Y,win\W,24,mx,my,1,1) Then While MouseDown(1) win\X=win\X+mxs win\Y=win\Y+mys Wend EndIf |
||
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit |
![]() |
ValnarBetreff: Re: Eigene Gui |
![]() Antworten mit Zitat ![]() |
---|---|---|
Thunder hat Folgendes geschrieben: Code: [AUSKLAPPEN]
For win.Window = Each Window
mx = MouseX() my = MouseY() mxs=MouseXSpeed() mys=MouseYSpeed() If RectsOverlap(win\X,win\Y,win\W,24,mx,my,1,1) Then If MouseDown(1) Then win\X=win\X+mxs win\Y=win\Y+mys EndIf EndIf Ich hab mir auch eine GUI geschrieben, kann sie jetzt leider nicht finden, aber ich glaube ich habe das so gemacht: Code: [AUSKLAPPEN] For win.Window = Each Window
mx = MouseX() my = MouseY() mxs=MouseXSpeed() mys=MouseYSpeed() If RectsOverlap(win\X,win\Y,win\W,24,mx,my,1,1) Then While MouseDown(1) win\X=win\X+mxs win\Y=win\Y+mys Wend EndIf Mit while geht das nicht, da er ja dann in der Whileschleife hängt solange mousedown ist. Dann wird nichts anderes gemacht. |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group