#c# #unity3d #unity5
#c# #unity3d
Вопрос:
Я пытаюсь решить эту проблему уже 3 дня, но так и не смог решить ее сам. Что происходит, когда я открываю свой инвентарь, моя мышь теоретически должна отображаться и разблокирована. Теперь это почти работает, за исключением того, что, когда я пытаюсь на самом деле перемещать мышь, она почти мгновенно перемещается (как будто у нее большая сила тяжести) прямо в центр. Я использую Unity версии 5.4.0f3 и использую Windows 10.Кроме того, если это имеет какое-либо значение, я использую FPSController Unity Standard Assets (но я не думаю, что это так, поскольку блокировка и разблокировка моего курсора работает нормально, за исключением случаев использования моего инвентаря), и все это происходит в редакторе.
Мой код, который делает это (в скрипте инвентаризации)::
if (isShown) { // If the inventory is opened
Cursor.visible = true;
Cursor.lockState = CursorLockMode.None;
}
У меня нет другого кода, который влияет на курсор, кроме этого в отдельном скрипте:
if (inventory.isShown || pauseManager.isPaused) { // If inventory is opened or game is paused
Cursor.visible = true;
Cursor.lockState = CursorLockMode.None;
} else {
Cursor.lockState = CursorLockMode.None;
}
Любая помощь будет очень признательна ~
Ответ №1:
Единственное, о чем я могу думать, это то, что ваш Update () вызывает часть вашего контроллера FPS (который повторно блокирует курсор в середине экрана), даже когда вы находитесь в инвентаре или в меню паузы. Вы говорите, что ваша мышь действует так, как будто у нее большая сила тяжести или что-то в этом роде, что, вероятно, связано с тем, что ваша мышь не заблокирована на долю секунды, пока не достигнет любой части кода, которая снова фиксирует ее в центре экрана. Проверьте свою функцию Update() в скрипте и посмотрите, вызываете ли вы что-либо перед указанным вами оператором if, что может вызвать такое поведение. Надеюсь, это поможет!
Комментарии:
1. Обнаружено, что скрипт мыши контроллеров FPS сообщал ему о блокировке. Большое вам спасибо!
2. Потрясающе, рад, что вы это поняли. Счастливого кодирования!