Rechteck mit Maus verschieben

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Iguan

Betreff: Rechteck mit Maus verschieben

BeitragSa, Mai 27, 2006 15:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo zusammen!

Ich habe da mal ne (doofe?) Frage?

Wieso lässt sich dieses Rechteck in folgendem Code so schlecht verschieben?

code:
Code: [AUSKLAPPEN]

Graphics 800,600,0
X = 240
Y = 250

Repeat
   Cls
   XX = MouseX()
   YY = MouseY()
   If MouseDown(1) Then
     If RectsOverlap(XX,YY,1,1,X-3,Y-3,6,6) Then X = XX:Y = YY
   End If
   Line XX-10,YY,XX+10,YY
   Line XX,YY-10,XX,YY+10
   
   Rect X-3,Y-3,6,6
   Flip
Until KeyHit(1); (KEY_ESCAPE)
End

Goodjee

BeitragSa, Mai 27, 2006 15:16
Antworten mit Zitat
Benutzer-Profile anzeigen
ich glaube du solltest dau mit mouseSpeedX/Y arbeiten
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/

SoNenTyp

BeitragSa, Mai 27, 2006 15:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Weil du es nur verschiebst wenn der Mauszeiger schon im Rechteck ist.

Überprüfe lieber ob die Maustaste 1 gedrückt ist und beim letzten mal noch nicht gedrückt war. Nun überprüfst du ob der Mauszeiger auf dem Rechteck sitzt. Wenn ja dann setzt du eine Variable auf True z.b Verschieben=true. Und zum schluss machst du nur noch ein If Verschieben then. und Verschiebst darin dann das Rechteck. Wenn die Taste 1 nicht mehr gedrückt ist, setzt du die Variable wieder auf False.
Gruss Der Typ.

User posted image

Iguan

BeitragSa, Mai 27, 2006 15:28
Antworten mit Zitat
Benutzer-Profile anzeigen
OK! Danke, hat geklappt!

finde ich nur ein wenig umständlich, aber bei meinem obigen Code ist die Maus wohl zu schnell! Habs jetzt so gemacht wie du geschrieben hast:

Code: [AUSKLAPPEN]

Graphics 800,600,0
X = 240
Y = 250

Repeat
   Cls
   XX = MouseX()
   YY = MouseY()
   If MouseHit(1) Then
     If RectsOverlap(XX,YY,1,1,X-3,Y-3,6,6) Then Verschieben = 1
   End If
   If Verschieben = 1 Then
       X = XX
       Y = YY
   End If
   If Not MouseDown(1) Then Verschieben = 0
   
   Line XX-10,YY,XX+10,YY
   Line XX,YY-10,XX,YY+10
   
   Rect X-3,Y-3,6,6
   Flip
Until KeyHit(1)
End

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group