Unity中的自定义鼠标

1.鼠标的隐藏

unity4.x版本:Screen.showCursor=false;
unity5.2新版本:Cursor.visible=false;
一开始不知道为啥Screen的属性没了,然后F12后,查看源的解释如下图


2.自定义鼠标样式

自定义鼠标样式的思路就是,在Awake方法中隐藏系统鼠标,然后让自定义的鼠标图片跟随鼠标坐标
新建一个空物体,挂上GUITexture对象,这里随便找了一张图片,在屏幕中的现实如图:

Unity中的自定义鼠标_第1张图片 Unity中的自定义鼠标_第2张图片

在这个空物体上挂上Test脚本:
代码如下:

using UnityEngine;
using System.Collections;

public class Test : MonoBehaviour
{
    void Awake()
    {
        Cursor.visible = false;
        Screen.SetResolution(1024, 768, false);
    }

    // Use this for initialization
    void Start()
    {

    }

    // Update is called once per frame
    void Update()
    {
        var pos = Input.mousePosition;

        transform.localPosition = new Vector3(pos.x / Screen.width, pos.y / Screen.height, 0);  //offset to top
    }
}



设置屏幕分辨率为1024*768,运行后可以看到新的鼠标样式的鼠标,offset to top的地方提醒可以做鼠标不能过边界的处理,这里根据自己的具体情况可以处理,不细说了。
这种自定义鼠标的方案优点就是:可以改变鼠标的颜色等其它属性,缺点:会有一点点滞后


3.系统自定义光标

在playerSetting中设置鼠标图片,这样整个工程都是这个自定义的鼠标样式,这样解决了滞后的问题,但是不能轻易改变鼠标的颜色,样式等

Unity中的自定义鼠标_第3张图片

4.GUI自定义鼠标


与2类似,不过鼠标是OnGUI方法中画出的Texture


你可能感兴趣的:(Unity3d)