Я хочу, чтобы курсор был невидимым и заблокирован в середине экрана во время игры, но когда в инвентаре или в меню я хочу, чтобы курсор был видимым и разблокированным. Я сделал что-то вроде этого:Unity3D видимость курсора мыши - C#
if (tribe == game) {
Cursor.lockState = CursorLockMode.Locked;
Cursor.visible = false;
Time.timeScale = 1;
} else if (tribe == menu) {
Cursor.lockState = CursorLockMode.Confined;
Cursor.visible = true;
Time.timeScale = 0;
} else if (tribe == inventory) {
Cursor.lockState = CursorLockMode.Confined;
Cursor.visible = true;
Time.timeScale = 0;
}
условие выполнено надлежащим образом и работать (если я не должен называть его в каждом кадре), но замок состояние и видимость прослушиваются. Иногда это работает, иногда нет (возможно, это вызвано тем, что я запускаю его в Unity Editor), и он ведет себя странно. Должен ли я назвать его кадром, или я использую его неправильно или что-то в этом роде?
Попробуйте называть его рамкой? Может быть, ваш код где-то еще устанавливает состояние блокировки курсора? Пробовали ли вы регистрировать состояние Cursor.lockState и т. Д. Каждый кадр? – zander
Я назвал это все и не работал. Но я что-то вижу неправильно - меню не приостановило мою игру должным образом. Может быть, ошибка здесь, но я так не думаю, поэтому, если кто-то знает, как это решить, ответьте. – Konowy
Проверяете ли вы утверждения? Я думаю, что поставить заявления в журнале, чтобы увидеть, как приложение достигает его правильно. –