1.准备两张图 要求图片导入设置如下
-
将 Texture Type 改为 Cursor
-
确保 Read/Write Enabled 已勾选
-
取消勾选 Generate Mip Maps
-
将 Filter Mode 设为 Point (保持清晰边缘)
-
将 Compression 设为 None (无压缩)
2.创建脚本,把脚本挂到场景中 ,该场景就有了效果
脚本如下:
using UnityEngine;
//更换鼠标箭头
public class DualStateCursor : MonoBehaviour
{
Header("Cursor Textures")
public Texture2D normalCursor; // 默认状态图标
public Texture2D clickedCursor; // 点击状态图标
public Vector2 hotSpot = Vector2.zero; // 点击热点位置
public CursorMode cursorMode = CursorMode.Auto;
private void Start()
{
// 初始化设置为普通图标
SetNormalCursor();
}
private void Update()
{
// 鼠标按下时切换图标
if (Input.GetMouseButtonDown(0))
{
SetClickedCursor();
}
// 鼠标释放时恢复图标
else if (Input.GetMouseButtonUp(0))
{
SetNormalCursor();
}
}
private void SetNormalCursor()
{
Cursor.SetCursor(normalCursor, hotSpot, cursorMode);
}
private void SetClickedCursor()
{
Cursor.SetCursor(clickedCursor, hotSpot, cursorMode);
}
private void OnDestroy()
{
// 游戏结束时恢复默认光标
Cursor.SetCursor(null, Vector2.zero, cursorMode);
}
}