- 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