Кнопка Unity C # на панели не работает, помещая скрипт на кнопку

#c# #unity3d

#c# #unity3d

Вопрос:

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

Можете ли вы прикрепить скрипт к кнопке, а затем вызвать метод в этом скрипте, используя onClick этой кнопки в инспекторе Unity?

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

1. Я не уверен, понимаю ли я. Вы хотите выполнить метод при нажатии кнопки? Если это так, просто добавьте свой скрипт в любой игровой объект, перетащите этот объект со сценарием, связанным со списком «По щелчку» внутри кнопки в вашем инспекторе, и выберите, какой метод вы хотите выполнить.

2. Чтобы ответить на ваш вопрос, да, вы можете. Я бы посоветовал прикрепить скрипт к родительскому объекту tough, который включает в себя все ваши кнопки, и вызвать его, например. ButtonManager. После этого вы сможете перетащить свой ButtonManager в кнопку OnClick в инспекторе Unity и выбрать прикрепленный скрипт, а также общедоступные функции этого скрипта.

3. Спасибо вам обоим. Я только что узнал, что вы извлекаете весь игровой объект, к которому привязан скрипт, а не только скрипт. Супер неловко, но спасибо за помощь!

Ответ №1:

просто чтобы вы знали, вы создаете определенную «кнопку» в unity, а не GameObject со спрайтом, чтобы у нее была встроенная функция Unity, где вы пишете очень короткий фрагмент кода:

 public void FunctionName()
{
    Do(what_youWant.here)
}
  

и поместите скрипт на саму кнопку, затем посмотрите на список компонентов кнопки, и вы увидите место для функций; там вы выбираете (из выпадающего списка) свою функцию из кода.