下面是程序中动态变化鼠标图片的代码。
using UnityEngine; using System.Collections; public class CursorManage : MonoBehaviour { static CursorManage _instance; public static CursorManage Instance { get { return _instance; } } public Texture2D normalCursor, npcCursor, attackCursor, pickCursor,aimCursor; void Awake() { _instance = this; } public void SetCursorNormal() { Cursor.SetCursor(normalCursor, Vector2.zero, CursorMode.Auto); } public void SetCursorAim() { Cursor.SetCursor(aimCursor, Vector2.zero, CursorMode.Auto); } public void SetCursorNpc() { Cursor.SetCursor(npcCursor, Vector2.zero, CursorMode.Auto); } public void SetCursorAtk() { Cursor.SetCursor(attackCursor, Vector2.zero, CursorMode.Auto); } public void SetCursorPick() { Cursor.SetCursor(pickCursor, Vector2.zero, CursorMode.Auto); } } 然后这里是设置游戏全局的鼠标指针的方式: Edit->Project Setting->Player->Default Cursor如果动态加载,记得设置图片属性,如图:TextureType设置为Cursor
这里稍微解释setCursor的参数,第一个参数类型为Texture2D,可以设为public,也可以Resources.Load();
第二个表示鼠标点击的有效点,通常Windows的hotspot为左上角那个点,即Vector2.Zero;
然后第三个参数,有些机器支持直接在硬件上设置鼠标图片,有些不支持,当设置为Auto的时候,表示如果硬件支持,
则使用硬件,否则使用软件设置鼠标图片。