mousehit() und mousedown()
Übersicht

![]() |
FreemanBetreff: mousehit() und mousedown() |
![]() Antworten mit Zitat ![]() |
---|---|---|
hi
hab ein Problem. hab ein menü erstellt und möchte auf einen Button klicken.Dieser erhöht dann eine Varible um genau eins Code: [AUSKLAPPEN] test=test+1 Das problem dabei ist wenn ich dabei mit mousedown(1) arbeite wird die varible nicht um 1 sondern um mindestens 4 erhöht. Das Problem bei mousehit(1) ist ,das wenn ich in der umgebung rumklicke und dann ohne zu klicken auf meinen button bzw. Menüpunkt gehe,dieser dann ohne klick aktiviert wird. bitte um hilfe.thx FrEeMaN |
||
MacBook | MacOSX 10.5 | 80GB HDD | 1GB | BlitzMax 1.28 |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn Du Mousedown nutzt, puffer die Eingabe mit einem Timer ab. d.h. "sperr" den Mousebutton für zB. 500ms.
Bei Mousehit() verwundert5 mich das Verhalten etwas. Versuchs mal mit einem Flushmouse() vorher. Oder zeig mal den Code, vielleicht hängts auch da irgendwo ![]() |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
dimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
schau dir Flushmouse an! | ||
![]() |
Ofenrohr |
![]() Antworten mit Zitat ![]() |
---|---|---|
du solltest mousedown(1) benutzen und in deinen button eine klickverzögerung einbauen. also du speicherst den letzten klick mit millisecs(). wenn jetzt die klickroutine ausgeführt wird, dann guckst du ob die aktuelle zeit z.B. um min. 150 ms größer ist als der letzte klick...
so hat man genug zeit wieder loszulassen, oder auch mit gedrückter maustaste zu erhöhen. ich hoffe ich habe dich nicht missverstanden, weilich das hier nicht verstehe: Zitat: Das Problem bei mousehit(1) ist ,das wenn ich in der umgebung rumklicke und dann ohne zu klicken auf meinen button bzw. Menüpunkt gehe,dieser dann ohne klick aktiviert wird.
mfg ofenrohr |
||
Ofenrohr.net |
![]() |
diGGaGruppenKaspar |
![]() Antworten mit Zitat ![]() |
---|---|---|
man klickt irgendwohin und bewegt dann den mauszeiger über den button welcher aktiviert wird. is ganz normal bei mousehit... musst sone art mousehit mit mousedown basteln d.h. eben mit timer. | ||
Gestern Nacht Schlug der Regen an mein Fenster
Ich ging durch das dunkle Zimmer und glaubte im Licht der Straßenlampe Den Geist unseres jahrhunderts auf der Straße zu sehen Der uns sagte, daß wir alle am Rande des Abgrunds stehen. - Al Steward Athlon 64 3000+ / Radeon 9600 / 1024mb ddram |
Apocalyptic |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wenn du nicht willst, dass der Button bei gedrückter Maustaste nach dem Ablauf des Timers wieder geklickt werden kann, probier mal das hier:BlitzBasic: [AUSKLAPPEN] mdownold=mdownnew Aber das von dir beschriebene Problem hatte ich noch nie. Ist dein Code evt. so aufgebaut?BlitzBasic: [AUSKLAPPEN] If mx>dx.... ThenDann probier es mal so:BlitzBasic: [AUSKLAPPEN] If MouseHit(1) Then |
||
Suum cuique
[ www.ffs-net.de.vu ] [ Raycaster ] |
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Einfach mal ins blaue geraten sieht Dein Code so aus:BlitzBasic: [AUSKLAPPEN] If MouseHit(1) Then mh=1Wenn das der Fall ist, lass Mousehit direkt den Rückgabewert in der Variable speichern:BlitzBasic: [AUSKLAPPEN] mh=MouseHit(1)So ist mh in jedem Schleifendurchlauf aktuell und Du kannst klicken bis die Taste bricht ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
hubsi, ich tippe auf Volltreffer ![]() |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
Lunatix |
![]() Antworten mit Zitat ![]() |
---|---|---|
@ ofenrohr :
Riesiger Blödsinn :Code: [AUSKLAPPEN] du solltest mousedown(1) benutzen und in deinen button eine klickverzögerung einbauen. also du speicherst den letzten klick mit millisecs(). wenn jetzt die klickroutine ausgeführt wird, dann guckst du ob die aktuelle zeit z.B. um min. 150 ms größer ist als der letzte klick... so hat man genug zeit wieder loszulassen, oder auch mit gedrückter maustaste zu erhöhen. er will n' button klicken, nit schussverzögerung machen! mach BlitzBasic: [AUSKLAPPEN]
|
||
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen... |
![]() |
Freeman |
![]() Antworten mit Zitat ![]() |
---|---|---|
der code von hubsi ist super! danke klappt wunderbar, den rest habe ich nicht ausprobiert. Trotzdem danke
FrEeMaN |
||
MacBook | MacOSX 10.5 | 80GB HDD | 1GB | BlitzMax 1.28 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group