Change mousehover curser

Customise mousehover cursor

Custom Mouse Cursor

Mouse over change texture

 项目中我用的方法

using UnityEngine;
using System.Collections;

public class TearApartControl : MonoBehaviour {
    public Texture2D handCursor;
    private bool _hitOBject = false;
    // Use this for initialization
    void Start () {
        {
            handCursor = (Texture2D)Resources.Load("HandIcon");
        }
    
    }
    
    // Update is called once per frame
    void Update () {
    
    }
    void OnMouseOver()
    {
        Screen.showCursor = false;
        _hitOBject = true;
    }

    void OnMouseExit() 
    {
        Screen.showCursor = true;
        _hitOBject = false;
    }
    void OnGUI() 
    {
        if (_hitOBject) 
        {
            GUI.DrawTexture(new Rect(Input.mousePosition.x - handCursor.width / 2, (Screen.height - Input.mousePosition.y) - (handCursor.height / 2) + (handCursor.height / 2), handCursor.width, handCursor.height), handCursor);
        }
    }
}

另外一个方法

var Mid:Texture2D;

var Mouse:Texture2D;//鼠标图片

var mousePos = Vector2.zero;//鼠标的位置

private var angle:float;

function Update()
{

  mousePos = Input.mousePosition;//获取鼠标位置

  angle = 180 – Mathf.Atan2(mousePs.x – 250, Screen.height -mousePs.y – 250) * Mathf.Rad2Deg;//计算选择角度

}

 

 

function OnGUI () {
   Screen.showCursor = false;
   GUIUtility.RotateAroundPivot (angle, Vector2(250, 250));
   GUI.DrawTexture(Rect(200,200,100,100),Mid);
   GUIUtility.RotateAroundPivot (-angle, Vector2(250, 250));
   GUI.DrawTexture(Rect(mousePs.x,Screen.height -mousePs.y,25,25),mouse);

 

}
原文地址:https://www.cnblogs.com/shawnzxx/p/2880814.html