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


Reply via email to