- Home /
How can I detect the mouse over a button?
I know this sounds like a simple question, and I thought the answer would be easy, but I'm finding it surprisingly difficult. The problem is that I don't want to find out if the mouse is over the current button, I want to find out from one button if the mouse is over another. Here is the scenario: I have several buttons in my UI. Most of them are very simple, but a few of the button have secondary options. What I want is when the mouse is over a button with options, that a series of new buttons will pop up showing the options. This part works fine. The hard part is hiding or destroying those dynamically created buttons when the mouse leaves the parent button. I'm trying to use the Point.Exit event. But when the mouse leaves the parent and enters a child button, that also counts as exiting. So, what I'm trying to accomplish is to detect if the mouse left the parent, but is currently over a child. It seems straightforward, but I have yet to find an answer. I would appreciate any suggestions on how to accomplish this task, or suggestions for a better solution. Thanks.
Answer by shinevision · Jan 25, 2018 at 12:19 AM
There is a special function called OnMouseOver()
. Maybe thats what you are looking for?
Docs: (https://docs.unity3d.com/ScriptReference/MonoBehaviour.OnMouseOver.html)
Answer by Arctic_Evolution · Jan 25, 2018 at 03:37 AM
to keep the parent alive when the child pops up, and you go over to the child, but close all only when mouse off it all? i think you are doing, cos I am about to do same thing
one onmouseover script for each of the parent and child. - boolean true for the child if active.(in the child script) - back to the parent script for the set active (false) for the parent, put it in if child getcomponent boolean is false
so the parent stays open going to the child, and both die, when you leave both.
I think thats what you mean!!! if you mean something else, i dont get it
Update: i dont think onmouseover works for UI elements. i cant get mine working either..i think its OnMouseEnter.. mine not working either
Your answer
Follow this Question
Related Questions
Please help with player selection screen 2 Answers
How to do a 2D raycast within a Canvas? 0 Answers
Is the new UI system still not recommended for mobile? (Unity 5) 1 Answer
How can i access the parent of an UI image? 1 Answer
Dropdown captionText property - Default selected value doesn't exists 0 Answers