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);



 



}

 

你可能感兴趣的:(change)