Hello
I got this C# script from another Unity user but I am unable to center the cursor, it stays on the default layout. I am trying to create a 2D style shooter using the mouse as the scope target. Here is my code.
using UnityEngine;
using System.Collections;
public class Cursor : MonoBehaviour { public Texture2D cursorImage;
private int cursorWidth = 320;
private int cursorHeight = 320;
void Start()
{
Screen.showCursor = false;
}
void OnGUI()
{
GUI.DrawTexture(new Rect(Input.mousePosition.x, Screen.height - Input.mousePosition.y, -cursorWidth, -cursorHeight), cursorImage);
}
}
Well, there is a simple yet effective solution, already over here:
JAVASCRIPT:
function Start (){
Screen.lockCursor = true;
}
C#:
void Start (){
Screen.lockCursor = true;
}
Please do not ask before searching again, as many of us have little time.
In terms of centering the image on the cursor, you need to change your DrawTexture call as follows:
GUI.DrawTexture(new Rect(Input.mousePosition.x, Screen.height - Input.mousePosition.y, -cursorWidth/2.0, -cursorHeight/2.0), cursorImage);
Actually I’d go one step further and get rid of cursorWidth and cursorHeight:
GUI.DrawTexture(new Rect(Input.mousePosition.x, Screen.height - Input.mousePosition.y, -cursorImage.width/2.0, -cursorImage.height/2.0), cursorImage);