由于代码比较简单,就直接贴上来了。
新建一个Cursor脚本,并附加到任意GUITexture上,就可以令这个GUITexture成为自定义鼠标形状。
PS:貌似在Unity中使用过多的自带GUI对象会影响性能,特别是手机、平板电脑这种移动平台上就更加严重了。目前可以通过使用第三方优秀的2D插件解决(比如NGUI和EZGUI),简单起见暂时就这么干吧:)
▇ 脚本 ————————————————————————————————————————————————————
using UnityEngine;
using System.Collections;
public class Cursor : MonoBehaviour
{
// Use this for initialization
void Start()
{
//在游戏启动时就隐藏系统鼠标指针
Screen.showCursor = false;
}
// Update is called once per frame
void Update()
{
//实时修改自身的坐标,注意GUITexture的位置是以屏幕左下角为(0,0)点,右上角为(1,1)点
transform.position = new Vector3()
{
x = 1 - (Screen.width - Input.mousePosition.x) / Screen.width,
y = 1 - (Screen.height - Input.mousePosition.y) / Screen.height,
};
}
}
▇ 效果 ————————————————————————————————————————————————————
新建一个Cursor脚本,并附加到任意GUITexture上,就可以令这个GUITexture成为自定义鼠标形状。
PS:貌似在Unity中使用过多的自带GUI对象会影响性能,特别是手机、平板电脑这种移动平台上就更加严重了。目前可以通过使用第三方优秀的2D插件解决(比如NGUI和EZGUI),简单起见暂时就这么干吧:)
▇ 脚本 ————————————————————————————————————————————————————
using UnityEngine;
using System.Collections;
public class Cursor : MonoBehaviour
{
// Use this for initialization
void Start()
{
//在游戏启动时就隐藏系统鼠标指针
Screen.showCursor = false;
}
// Update is called once per frame
void Update()
{
//实时修改自身的坐标,注意GUITexture的位置是以屏幕左下角为(0,0)点,右上角为(1,1)点
transform.position = new Vector3()
{
x = 1 - (Screen.width - Input.mousePosition.x) / Screen.width,
y = 1 - (Screen.height - Input.mousePosition.y) / Screen.height,
};
}
}
▇ 效果 ————————————————————————————————————————————————————