- Home /
On Mouse Over Problem
i have an object near the left screen edge of the FIXED main camera and i put some stuff inside the OnMouseOver function. the problem here is that i recently find out that when you click the object the function only works like in the middle to the right side of the object, to the left side the function is even not called... how can i fix that? i NEED to put the object there... and i tried moving around the object, and the problem start only in a certain distance of the screen edge, i tried on both sides of the screen and its the same... here an example image...
PD: the function that i made only works under an IF statement with the mouse-click, something like:
function OnMouseOver () {
if(Input.GetButtonDown("0"))
{
SOMETHING HERE...
}
{
just an example...
PD: the black square is the screen limits...
Answer by robertbu · May 11, 2014 at 04:35 AM
OnMouseOver() uses the collider for its test, not the visible game object. So the two mostly likely reasons for the problem:
The collider is misaligned with the visible object.
There is another collider in the way.
To check for the first issue, turn on Gizmos in the upper right corner of the game window and select your object in the Hierarchy.
To check for the second problem, put the following on an empty game object, and see what is output when you are over the non-functional part of the object:
#pragmat strict
function Update() {
var hit : RaycastHit;
var ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if (Raycast(ray, hit)) {
Debug.Log(hit.collider.name+", "+hit.collider.tag);
}
}
Your answer
Follow this Question
Related Questions
How to detect Mouse over gui and guilayout elements? 4 Answers
Screen.width & Screen.height Becoming button 0 Answers
How to go about this? 2 Answers
Destroy on touch 1 Answer
Use yield WaitForSeconds to delay mouseover on a gameObject? (JS) 1 Answer