detecting mouse events

Previous topic - Next topic

loganite

Mousestate is good but sometimes you only want to fire an event once. The code below shows an easy way to do it. I think there are alternative ways but this one has worked well for me.


WHILE TRUE
   MOUSESTATE mx,my,b1,b2


   IF b1=1 AND lb1=0 THEN mouseb1down()
   
   IF b1=1 AND lb1=1 THEN mouseb1pressed()
   
   IF b1=0 AND lb1=1 THEN mouseb1up()
   
   lb1=b1   //record the state of the button

   PRINT "mouse b1 down count : "+countb1down,0,0
   PRINT "mouse b1 pressed count : " +countb1pressed,0,10
   PRINT "mouse b1 up count : "+countb1up,0,20

   SHOWSCREEN
WEND

FUNCTION mouseb1down:
   INC countb1down,1
ENDFUNCTION

FUNCTION mouseb1pressed:
   INC countb1pressed,1
ENDFUNCTION

FUNCTION mouseb1up:
   INC countb1up,1
ENDFUNCTION