Unity 3D: как создать оверлейное меню? - PullRequest
1 голос
/ 07 августа 2020

Я пытался создать оверлейное меню, подобное тому, что показано на видео ниже (перекрестки), и мои настройки также очень похожи с кнопками в углах и экраном живой игры. Я попробовал использовать изображение пользовательского интерфейса и с помощью кнопки сделал его setActive и уменьшил его альфа-канал. Выглядит примерно так же, но

1.) Мои кнопки также перекрываются изображением

2.) Когда я нажимаю на свои кнопки, мой персонаж перемещается, я не хочу, чтобы это происходило . Это должно происходить только тогда, когда я нажимаю где-нибудь еще, а затем кнопки исчезают.

3.) Вы можете видеть, как даже при прикосновении персонаж не перемещается на заднем экране, это то, что я хочу сделать.

Я искал по всему Google, но, похоже, не нашел ответа, который мне нужен. Я хочу поместить своих игровых персонажей посередине, как на видео. Любая помощь действительно приветствуется. Я новичок в единстве. Всем спасибо :)

Видео

1 Ответ

1 голос
/ 07 августа 2020

Постараюсь ответить. Это мой первый ответ на StackOverflow, поэтому, пожалуйста, простите меня, если я ошибаюсь.

1. Порядок рисования элементов пользовательского интерфейса - сверху вниз в вашей иерархии. Итак, если вы используете Image GameObject над кнопкой в ​​вашей иерархии, тогда кнопка не должна быть заблокирована изображением, которое должно быть тем, что вы хотите, если я правильно вас понимаю

2.) У вас может быть логическое переменная, которая отслеживает, открыто ли меню игрока (или проверьте, активен ли UI GameObject), и если да, не проверяйте скрипт движения вашего игрока на предмет новых местоположений / не перемещайте игрока. Вы также можете добавить компонент CanvasGroup в UI GameObject и установить для «interactable» и «Blocks Raycasts» значение true

3.) Это также должно быть исправлено тем, что я объяснил в 2.)

Приветствую и удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...