How about using a referenced image control and change the fileName of
the image to reflect the different states? I tried several approaches
using separate object and like you couldn't get any of them to work
satisfactorily (although I was using buttons rather than images for
testing). Placing the mouseLeave handler in the 'idle' object and
sending a message to it from the 'over' object worked inconsistently.
The other approach I tried was to group the objects and place all the
handlers in the group's script - seemed to work as intended for a few
mouseEnters and mouseLeaves but then descended into some sort of
hyperactive state switching that eventually locked out (temporarily)
any mouse activity (command "." seemed to do the trick).
I'm trying to implement a simple button that should use 3 different
images: 'idle', 'over' (when the cursor in on top of the button),
and 'down' (when the mouse is down on the button).
Because the shape of the button is irregular, and I want the
transparent bits to be ignored for mouse events, rather than
specifying the images as icons in a button control, I used IMAGES.
My idea was to setup the 3 images on a card, on top of each other,
and simply show/hide each one in response to the appropriate mouse
events.
So I started by putting the 'idle' image on the card, and then the
'over' image on top of that, making sure the 'loc' properties of
both was exactly the same (ie, they were exactly on top of each
other). Each picture is exactly the same as the other, just using
different colours... Now, I went into the scrip of the 'idle'
picture, and typed:
on mouseEnter
show image "over"
hide me
end mouseEnter
Then, I went into the script of the 'over' image, and did the opposite:
on mouseLeave
show image "idle"
hide me
end mouseLeave
Now, what is happening when I use the browse tool is a bit of a
puzzle: it goes like this:
The card is displaying the 'idle' image. I move the cursor into the
image, and presto, I see the 'over' image. I also know that the
'idle' image HAS been hidden - I can check with the message box...
Now, I slowly move the cursor OUTSIDE the image, and... nothing. The
'over' image behaves as if it has NOT received the 'mouseLeave'
message...
I move the cursor back onto the 'over' image, and move it back out -
now for the second time - and, presto, it works: it hides the 'over'
image and shows the 'idle' image.
The crunch of the matter is: I have to 'leave' the image TWICE for
it to work... EVERYTIME!
All I can deduct is that for some reason, the first time the mouse
leaves the 'over' image, no 'mouseLeave' message is being sent to
it! Only after the cursor has re-entered the image, and then
proceeds to leave again, does it work...
--
Dr Terry Judd
Biomedical Multimedia Unit
Faculty of Dentistry Medicine & Health Sciences
The University of Melbourne
Parkville VIC
Australia
_______________________________________________
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution