if (Gameplay_UI.activeInHierarchy == true && isActive == true && Loose.activeSelf == false)
{
Cursor.lockState = CursorLockMode.Locked;
Cursor.visible = false;
} else
{
Cursor.lockState = CursorLockMode.None;
Cursor.visible = true;
}这是我用来锁定/解锁游标的代码,它在大多数情况下都能正常工作,除非玩家松了(当玩家松开时,播放机gameObject被取消激活,松散的gameObject被激活),isActive bool应该检查播放器在场景中是否处于活动状态,但是与.activeself或.activeinhierachy一样,当播放器在场景中被取消激活时,它实际上不会更新,如果我检查松散的游戏对象是否是活动的,.activeself或.activeinhierachy则不会更新,这也是一样的。当玩家松开时,我想要一些帮助解锁光标,谢谢。
发布于 2022-05-18 22:58:22
您可以在OnDisable中解锁光标。
当对象被禁用或处于非活动状态时,将调用OnDisable。
例如:
private void OnDisable()
{
UnlockCursor();
}
private void UnlockCursor()
{
Cursor.lockState = CursorLockMode.None;
Cursor.visible = true;
}https://stackoverflow.com/questions/72296744
复制相似问题