- Home /
How to center custom cursor
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);
}
}
Answer by DubstepDragon · May 29, 2013 at 10:08 AM
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.
I am sorry but I have searched and (Screen.lockCursor = true;) works fine if you are creating a 3D shooter but since I am creating a 2D shooter with a custom cursor using the mouse as the target it does not work.
Ah, well, that can also be arranged. However, I know little in the aspect of 2D in unity. I am sorry for giving you the wrong answer, however many of unity's scripting features exist already and do not need further development.
Answer by robertbu · May 30, 2013 at 07:02 AM
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);
Your answer
Follow this Question
Related Questions
2D platformer cursor 1 Answer
Shooting in direction of mouse cursor 2d 5 Answers
How can I add cursor acceleration? 0 Answers
custom mouse changing when hovering over objects 1 Answer
Unity 3D Screen.lockCursor Problems 2 Answers