Как определить, не была ли нажата кнопка / как заставить что-то исчезнуть, если не нажать

#c# #unity3d

Вопрос:

Привет, я составляю опись карт, в которой у меня есть 4 выбранные карты и сетка карт для выбора. при нажатии на карту у меня появляется кнопка, которую вы можете нажать, чтобы выбрать карту, но моя проблема в том, что я понятия не имею, как убрать эту кнопку.

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

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

редактировать: для дальнейшего уточнения у меня есть 2 кнопки, 1 делает другую видимой, другая исчезнет при нажатии на что-либо, кроме самой кнопки. это все, что у меня есть

любая идея случайных замечательных незнакомцев в Интернете

Любовь

Комментарии:

1. Какой-нибудь код, пожалуйста? Ты что-нибудь пробовал?

2. @ErmiyaEskandary у меня нет кода, который конфликтует с чем-либо, что означает, что любое решение/ответ/идея может сработать, у меня почти 2 пустые кнопки. один просто устанавливает другой в активное(true) при нажатии, а другой должен уходить при нажатии на что-либо, кроме кнопки, когда кнопка активна. любая идея, которая может сделать то, что я ищу, помогает 🙂

3. @ErmiyaEskandary я не просил конкретно исправить или решить мою игру, я спросил, есть ли способ сделать это. и я забыл упомянуть, что я новичок в этом, поэтому, когда вы говорите, пробовали ли вы что-нибудь? я не знаю, что попробовать, вот почему я спрашиваю в первую очередь. в моем понимании это может быть простая функция! просто я не знаю, в чем будет заключаться эта функция. я просто спрашиваю, что ты знаешь или что бы ты сделал.

4. Пожалуйста, предоставьте достаточно кода, чтобы другие могли лучше понять или воспроизвести проблему.

Ответ №1:

Поскольку я неправильно понял вашу проблему в первый раз, я напишу ее во второй раз.

Я думаю, что это действительно просто решить, поэтому в основном создайте огромную и прозрачную кнопку, которая будет обнаруживать все щелчки, кроме карточек и кнопок.

Так что мое решение таково:

  1. Создайте кнопку, называемую, например, «Фон», и установите ее масштаб на огромные значения, такие как 1000, чтобы постоянно охватывать весь экран.
  2. Установите все цвета кнопки (Обычный цвет, Выделенный, Нажатый и т.д.) на прозрачный — в основном установите значение Альфа на 0
  3. Кнопка должна быть выше всех других кнопок в Иерархии Canvas (или как бы вы ее ни называли), чтобы работать в качестве фона и не закрывать другие кнопки.
  4. Обнаружьте щелчки на «Фоне», которые просто скроют кнопку «Выбрать» и кнопку «Информация».

Я надеюсь, что на этот раз это сработает.

Комментарии:

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

2. О, так поправьте меня, если я ошибаюсь — Когда вы нажимаете на карту, под определенной картой отображается кнопка выбора и кнопка информации?

3. Да, но это я могу сделать, но заставить его отключаться при нажатии на что-либо еще-моя проблема

4. Под чем-то еще вы подразумеваете что-то, что не является картой?

5. все, что угодно, кроме кнопки «Выбрать» или кнопки «Информация», поэтому при нажатии на одну карту в сетке ниже отобразится кнопка «Информация», затем при нажатии на другую будет сделано то же самое, но на прошлой карте больше не будет отображаться кнопка «Информация», но появится новая. а также нажатие, например, в другом месте на экране также приведет к исчезновению кнопки «Информация». можно ли сделать так, чтобы кнопка «Информация» имела скрипт, который определяет, попадает на нее луч или нет, и если нет, то делает ее активной(ложной) ?