鼠标光标在单位中是不可见的

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了鼠标光标在单位中是不可见的相关的知识,希望对你有一定的参考价值。

我正在设计一个团结的第一人称射击游戏。我使用FPS控制器来控制播放器。因此,我的鼠标光标大部分时间都不可见,当我按下Escape时,它变得可见。但是,问题是当我从使用FPS控制器的场景加载新场景时,尽管新场景不使用FPS控制器,但鼠标光标仍然不可见。此外,按Escape键不会在新场景中显示鼠标光标。

答案

您可以通过几种方式处理它,但这是问题的核心:更改Cursor.visible字段不依赖于场景,并且在加载新场景时不会重置。因此,您需要在加载的级别上设置Cursor.visible = true;

我建议制作一个像CursorVisibility这样的简单脚本来读取这个:

public class CursorVisibility : MonoBehaviour
{
    void OnLevelWasLoaded(int level)
    {
        if (FindObjectOfType<FirstPersonController>() != null)
        {
            Cursor.visible = false;
        }
        else
        {
            Cursor.visible = true;
        }
    }
}

将其放在每个场景中的空游戏对象上,您可以自动处理光标可见性。

您也可以放置功能:

void OnLevelWasLoaded(int level)
{
    if (FindObjectOfType<FirstPersonController>() != null)
    {
        Cursor.visible = false;
    }
    else
    {
        Cursor.visible = true;
    }
}

在没有第一人称控制器的场景中唯一的任何其他脚本中。

只需确保用FPS控制器实际命名的任何内容替换脚本的名称:)

另一答案

对我来说,解决方案是寻找Cursor.visibleScreen.lockCursor参数并设置:

Cursor.visible = true;
Screen.lockCursor = false;

或者只是删除lockCursor线。

以上是关于鼠标光标在单位中是不可见的的主要内容,如果未能解决你的问题,请参考以下文章

在 Google Maps V3 API 标记鼠标悬停时获取鼠标光标的位置

js如何判断光标是不是在某元素上

如何使用 Espresso 测试片段是不是可见

处理拖动(来自 DragOver 事件)时是不是可以更改鼠标光标? [复制]

鼠标按下时CSS光标更改不起作用

设置 EditText 光标颜色