Tach,
mir ist das noch garnicht aufgefallen, aber benutzt Ihr garkein MouseHit() ??
Ich brauch das immer wieder ;)
Hier gibts ne Tolle Function und Beispiel dazu.
Hierzu habe ich nur die KeyHit() Function von Gernot etwas abgewandelt, bzw. auch die Rückgabe werte sind bei mir anders.
1 = Geklickt
2 = Gedrückt
-1 = losgelassen
0 = nichts ;)
// --------------------------------- //
// Project: Mousehit
// Start: Saturday, June 21, 2008
// IDE Version: 5.300
GLOBAL f1 = 200
GLOBAL f2 = 0
GLOBAL f3 = 50
GLOBAL f4 = 50
GLOBAL f5 = 50
GLOBAL f6 = 3
WHILE TRUE
MOUSESTATE mx,my,b1,b2 ///Mouse Initialisieren
MouseHitUpdate(b1,b2) // Abfrage welche Mousetasten überprüft werden sollen
// Mousbutton 1
IF MouseHit(1) = 1 // (1) = b1 | (2) = b2
// Returns >> 1 = MouseHit | 2 = MouseDown | -1 = release event | 0 = Nothing
f1 = RND(255)
f2 = RND(255)
f3 = RND(255)
ENDIF
// Mousbutton 2
IF MouseHit(2) = 1
f4 = RND(255)
f5 = RND(255)
f6 = RND(255)
ENDIF
DRAWRECT 10,10,100,100,RGB(f1,f2,f3)
DRAWRECT 115,10,100,100,RGB(f4,f5,f6)
SHOWSCREEN
WEND
END
//////////////////////////////////////////////////////////////////////////////////////////////////////
FUNCTION MouseHitUpdate : l_1 = 0, l_2 = 0
GLOBAL gMouseDown[], gMouseState[]
GLOBAL K[]
DIM K[3]
LOCAL i
// First Time call/ zum ersten Mal hier
IF BOUNDS(gMouseDown[],0)=0
DIM gMouseDown[7]
DIM gMouseState[7]
ENDIF
// For each key / für jede Taste
FOR i=0 TO 2
// k = KEY(i) ////<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
K[0] = 0 //Dummy, für das bessere verständnis ;) Button 1 - 2
K[1] = l_1
K[2] = l_2
// Key is pressed / Taste ist gedrückt
IF K[i]
IF gMouseDown[i]
gMouseState[i]=2 // war 1
ELSE
gMouseDown[i]=2 // war 1
gMouseState[i]=1 // war 2
ENDIF
ELSE
// Key is not pressed / Taste nicht gedrückt
// Has key been pressed before?
// War die Taste gedrückt?
IF gMouseDown[i]
gMouseDown[i] = 0
gMouseState[i] = -1
ELSE
gMouseState[i]=0
ENDIF
ENDIF
NEXT
ENDFUNCTION
// 0 = not pressed / nicht gedrückt
// 1 = just pressed / gerade runtergedrückt
// 2 = pressed / gedrückt (gehalten)
// -1 = release event / wieder losgelassen
// Liefert den aktuellen zustand zurück, Max 6 Mousbuttons 1-6
FUNCTION MouseHit : mKEY
// SIcherheits abfrage
IF mKEY > 2 THEN mKEY = 0
IF mKEY < 0 THEN mKEY = 0
RETURN gMouseState[mKEY]
ENDFUNCTION
Hi
Doch, ich brauch schon MouseHit(). :) Hab mir so was ähnliches schon geschrieben. Gut, wenn die Antwort jetzt schon da ist. Denn die Frage nach MouseHit() kommt bestimmt noch. =D Danke für's umwandeln. :)
Cheers
Lustig, hatte ich für WPShadow auch schon mal umgeschrieben :D