Cursor 类

这篇文档写了三部分:CursorLock枚举、Cursor类、CursorMode枚举
做手游的话还是不用理会的


用于设置 鼠标光标(mouse pointer)
仅在 macOS、Windows、Linux 支持,在其他不支持的平台上使用默认的

Windows Store Apps:仅支持 hardware cursor,PlayerSettings.defaultCursor

hardware cursor :PlayerSettings.defaultCursor
sofrware cursor :运行时使用 Cursor.SetCursor

注意:相关贴图必须在导入设置中设为 cursor

CursorLockMode 枚举

How the cursor should behave.

These are a various modes that control the behaviour of the Cursor. A default cursor must be set in PlayerSettings > Default Cursor.

None —— 没有做任何更改
Locked —— 锁定在视图中心,不显示光标(此时忽略Cursor.visible的设置)
Confined —— 将光标限定在游戏窗口(在Unity编辑器中没啥影响,没有Build一个试试)

Cursor静态属性 (lockState visible)

举个例子,PC端游戏有些不需要显示光标,但是需要鼠标来点击、已经旋转镜头,
此时如果是窗口模式,鼠标光标不限定在窗口内,那么会点到其他程序或桌面上,而且鼠标离开游戏镜头不再旋转,
这样就很不合理。。。。。。

Cursor.lockState

确定硬件指针是锁定到视图的中心,还是被约束到窗口,还是根本不受约束。
锁定后,光标将放置在视图的中心,无法移动。光标在这种状态下是不可见的,不管Cursor.Visible的值如何。
在受限时,游标的行为正常,但受限于视图除外。例如,如果应用程序在窗口中运行,则鼠标光标不能将窗口保留在受限模式下。
要提供良好的用户体验,建议的行为只是锁定或限制光标作为用户操作的结果,例如提供一个按钮。
游标状态可以由操作系统或统一来更改。因此,您应该检查光标的状态,例如当应用程序恢复焦点或游戏状态更改以显示UI时。在编辑器中,当按Escape或切换应用程序时,光标会自动重置。在独立播放器中,您可以完全控制鼠标光标,但切换应用程序仍然重置游标。

Cursor.visible

可读可写,获取设置鼠标光标的显示隐藏。
特殊情况:当CursorLockMode.Locked模式,鼠标光标是一定不可见的


Cursor静态方法 (SetCursor)

Cursor.SetCursor
用到一个Texture2D

//texture   —— texture2D,导入设置为Cursor、或者“Read/Write enabled”
//hotspot   —— 要用作目标点的纹理左上角的偏移量(必须在光标的范围内)。一般用 Vector2.zero
//cursorMode    —— 允许此游标在受支持的平台上呈现为硬件游标,或强制软件游标。
public static void SetCursor(Texture2D texture, Vector2 hotspot, CursorMode cursorMode); 
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour
{
    public Texture2D cursorTexture;
    public CursorMode cursorMode = CursorMode.Auto;
    public Vector2 hotSpot = Vector2.zero;
    void OnMouseEnter()
    {
        Cursor.SetCursor(cursorTexture, hotSpot, cursorMode);
    }

    void OnMouseExit()
    {
        Cursor.SetCursor(null, Vector2.zero, cursorMode);
    }
}

CursorMode枚举

上边用到的 CursorMode

确定是否使用软件渲染渲染鼠标光标,或者在支持的平台上硬件渲染。
software rendering:用程序中指定的光标
hardware rendering:用PlayerSetting中设置的光标

public enum CursorMode
{
    Auto,                  //在支持的平台上使用 hardware cursor(mac、windows、linux)
    ForceSoftware          //强制使用 Software cursor
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值