- Home /
Changing cursor over multiple objects
Hi guys, in my game I have multiple turrets spread in the map and I want the cursor to change whenever i pass the mouse over a turret it should change the normal cursor to a attack cursor that I have. I was able to get it working when I had the script only in one turret but by adding the working script to other turrets whenever I passed the cursor over the second turret it would just get a second cursor behind the main cursor, so I decided to split the script in two. The main script ("Main_Cursor") goes to the Main Camera, this is where i have the textures of the cursors and it should get data from the secundary script ("Turret_Cursor") that is located in every turret. This way whenever I pass the mouse on the turret the secundary script should send to the main script that I passed the mouse trough the tower and the main cursor should change to the attack cursor.
Script Main_Cursor:
var cursor : Texture2D;
var link : Texture2D;
var normal : Texture2D;
function Update()
{
cursor = GetComponent(Turret_Cursor).cursor;
}
function Start()
{
Screen.showCursor = false;
cursor = normal;
}
function OnGUI ()
{
var mousePos : Vector3 = Input.mousePosition;
var pos : Rect = Rect(mousePos.x,Screen.height - mousePos.y,cursor.width,cursor.height);
GUI.Label(pos,cursor);
}
Script Turret_Cursor:
function OnMouseOver ()
{
Screen.showCursor = false;
GetComponent(Main_Cursor).cursor = GetComponent(Main_Cursor).link;
}
function OnMouseExit ()
{
Screen.showCursor = false;
GetComponent(Main_Cursor).cursor = GetComponent(Main_Cursor).normal;
}
Any solution?
PS: Sorry for such a big text.
Your answer
Follow this Question
Related Questions
Unity 3D Screen.lockCursor Problems 2 Answers
Alt+Tab pointer problem 0 Answers
How to center custom cursor 2 Answers
error CS8025: Parsing error 1 Answer
How to make something happen when mouse on side of screen? 1 Answer