- Home /
change mouse cursor on mouseover
How can I change the mouse cursor when the mouse is over a certain object in the scene? I'd really appreciate the help.
Answer by Proclyon · Jan 10, 2011 at 03:01 PM
You would need to do a raycast between the observer (your PoV) and mouse and detect if that line collides with the object. Now that you caught the event you will have to go into the mouse properties and change the settings there.
This is not the easiest thing to do, do not misunderstand, it is most certainly possible. But I have no idea of 1: what your objective is. So I can not give much alternatives. I am not sure you are able to use this solution at all, so I will not spend a huge amount of time coding some sample which could just be ending up as useless.
So I would request specifying your question, or simply use the first suggestion or that of any other answer that pops up here :)
Answer by lcn75 · Jan 04, 2012 at 02:11 PM
like this:
var myCursor:Texture2D;
var cursorSizeX: int = 32; // set to width of your cursor texture
var cursorSizeY: int = 32; // set to height of your cursor texture
var condition = true;
function OnMouseEnter(){
condition = false;
Screen.showCursor = false;
}
function OnMouseExit(){
condition = true;
Screen.showCursor = true;
}
function OnGUI(){
if(!condition){
GUI.DrawTexture (Rect(Input.mousePosition.x-cursorSizeX/2 + cursorSizeX/2, (Screen.height-Input.mousePosition.y)-cursorSizeY/2 + cursorSizeY/2, cursorSizeX, cursorSizeY),myCursor);
}
}
bye!
one problem with this is it will work fine with only one object, whn number of objects increases it will fail
Answer by lcn75 · Jan 05, 2012 at 10:06 AM
or ... like this :)
http://answers.unity3d.com/questions/202235/mousecursorarrow-and-mousecursorlink.html#answer-202242