0
我在统一设计第一人称射击游戏。我使用FPS控制器来控制播放器。因此,我的鼠标光标大部分时间都保持不可见,当我按下Escape键时,它就变得可见。但问题是,当我从使用FPS控制器的场景加载新场景时,虽然新场景不使用FPS控制器,但鼠标光标仍然不可见。此外,按下Escape键不会在新场景中显示鼠标光标。鼠标光标在团结中是隐形的
我在统一设计第一人称射击游戏。我使用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.visible = true; Screen.lockCursor = false;' 到脚本的开始处理程序。 – dirkk0