由于代码比较简单,就直接贴上来了。
新建一个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,
};
}
}
▇ 效果 ————————————————————————————————————————————————————
本文介绍了一种在Unity中实现自定义鼠标形状的方法。通过创建并应用一个简单的Cursor脚本到GUITexture上,可以将该GUITexture作为鼠标指针。脚本会实时更新位置以匹配鼠标移动。
自定义鼠标形状&spm=1001.2101.3001.5002&articleId=50724930&d=1&t=3&u=a80a1ec3fa2d4a75aaa2284e75a1d01e)
934

被折叠的 条评论
为什么被折叠?



