Flushmouse Problem

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

Till P.

Betreff: Flushmouse Problem

BeitragSa, Jan 29, 2005 15:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!
Ich hab noch ein Problem:
An welcher Stell muss ich Flushmouse einsetzen, damit alle Mausabfragen im Programm noch funktionieren, aber die Ereignisse nicht schon vor Klick eintreten.
Beispiel
Ein Button wird auf Klick überprüft...
<Wenn Maus auf Button -> wenn Klick dann -> Ereignis

Ohne Flushmouse:
Klickt man ins leere, und geht dann mit dem Zeiger auf den Button, wird das Ereignis ausgeführt, obwohl der Button gar nicht angeklickt wurde!

Mit Flushmouse:
Manche Buttons funktionieren nicht mehr, Das heißt das Ereignis trifft nicht ein, obwohl der Button angeklickt wurde..

Weiß jeman vielleicht wie man das gestalten muss, damit es richtig funktioniert?

Danke
mfg
Till

D2006

Administrator

BeitragSa, Jan 29, 2005 16:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

du kannst das nach diesem Muster machen:


Code: [AUSKLAPPEN]

;Hauptschleife
Repeat
...
mouse = MouseHit(1)


If mouse=1 And x>100 and x<100 ... Then mach_halt()

Forever


Dadurch wird in jeder Schleife abgefragt, ob die Maus gedrückt wurde.
Jetzt wird nur wenn genau in dem Durchgang wo die Maus gedrückt wurde,
und der Zeiger über dem Feld ist, mach_halt() ausgeführt.

MfG
D2006
 

Till P.

BeitragSa, Jan 29, 2005 17:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich glaub, das hab ich nicht ganz verstanden... Rolling Eyes
[code]
mouse=mousehit(1) ;Das ist doch das gleiche,
if mouse=1 then bla()

if mousehit(1) ;wie das

Question Oder Question

D2006

Administrator

BeitragSa, Jan 29, 2005 17:47
Antworten mit Zitat
Benutzer-Profile anzeigen
also, wenn du MouseHit(1) ein mal aufrufst und es im selben Durchgang noch einmal aufrust, wird es beim zweiten mal 0 sein. Da dieser Befehl die Anzahl der Klicks seit dem letzten Aufruf zurückgibt.

das funzt also nicht:
Code: [AUSKLAPPEN]

if mousehit(1) then ...
if mousehit(1) then ...


Dein Problem:
du musst bei jedem Durchgang MouseHit() einmal aufrufen. Sonst kommt es zu deinem anfänglichem Problem.

MfG

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group