Polling the mouse
J. Scott Saults
saultsj at missouri.edu
Mon Feb 25 14:59:01 EST 2002
Fri, 22 Feb 2002 13:22:55 -0700
Scott Raney <raney at metacard.com> wrote
>But did you actually try this? It *doesn't* work that way in either
>MC or HC now. If you don't see it, try increasing the loop count (you
>may need to at one zero for HC, and about 3 in MC/RR ;-)
>
>My real question is, given that you're confused about this, how many
>other people must be, and if a lot, does this behavior really need to
>be preserved?
Scott & Geoff,
Sorry! I THOUGHT I'd tried it in HC, but I must have done something WRONG.
HyperCard does return "down" after the mouse button has been clicked during
the loop, even though it is actually up when the script gets "the mouse."
Geoff 's step-by-step explanation helped me see this. I'd not understood
the implications of this exception to the way "the mouse" seemed to work. I
apologize for posting my mistake, but thanks for the correction. The the
mouse function seems to check some kind of event queue, rather than
actually checking the state of the mouse button. Obviously, the mouse is
more complicated than I thought, but maybe most people are not as easily
confused as me.
During this subsequent testing, I discovered a couple of other curiosities,
for what it's worth. SuperCard 3.6 SEEMS to behave more consistently than
MC or HC, because it does, according to my tests, return "up" even after
clicking during the loop of Scott's script. Also, a slight modification to
the 'put' command in Scott's script (below)actually causes HyperCard to put
"down up" when the mouse is clicked during the loop and then not pressed
again ! Weird.
on mouseUp
get 0
repeat for 10000 times
add 1 to it
end repeat
put the mouse && the mouse
end mouseUp
My 2¢? Revolution should drop "the mouse" function, unless it can be made
to work in a reliable, predictable way, as documented. I can live without it.
Scott Saults
More information about the use-livecode
mailing list