MouseDown on Enter
Alex Tweedly
alex at tweedly.net
Wed Jan 2 05:14:14 EST 2019
On 01/01/2019 20:39, Alex Tweedly via use-livecode wrote:
> However - I'm not sure that's a very intuitive UI ("release to play"),
> so I'd probably go the extra mile and do the harder one that
> replicates the original UI. And that *is* harder, so I will try it out
> before I say any more about it ...
>
OK, here's a simple script that does what (I think) you want.
NB - I decided to let Malte do the hard work and used AnimationEngine to
check whether the mouse was within each hexagon; since Malte very
generously put AE into the public domain, I see no reason to struggle
through the maths again :-)
The following script goes into the card script; you MUST also put a copy
of the mouseStillDown handler into each hexagon's script. (Note there is
no actual dependence on them being hexagons).
> -- card script for hexagons
> on mouseDown
> setCurrentHex
> end mouseDown
>
> on mouseUp
> setCurrentHex
> end mouseUp
>
> on mouseRelease
> setCurrentHex
> end mouseRelease
>
> on mouseStillDown pButtonNumber
> setcurrentHex
> end mouseStillDown
>
> command setcurrentHex
> local temp, tCtl, txy, x, y
> put the mouseLoc into txy
> set the itemdel to comma
> put item 1 of tXY into x
> put item 2 of txy into y
> repeat with i = 1 to 2
> put the points of grc ("P"&i) into temp
> if pointInPoly(x,y,temp) then
> put i && the millisecs &CR after msg
> exit repeat
> end if
> end repeat
> end setcurrentHex
btw - you can eliminate the mouseDown, mouseUp and mouseRelease
handlers, if you can accept the very short delay until mouseStillDown
kicks in.
Alex.
More information about the use-livecode
mailing list