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