Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.66/47: Рейтинг темы: голосов - 47, средняя оценка - 4.66
 Аватар для MiKITA17
8 / 8 / 1
Регистрация: 18.11.2019
Сообщений: 109

Button которая не работает

19.01.2020, 10:45. Показов 8820. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. При попытке сделать кнопку в Unity 2D она просто не отвечает на нажатия, причём даже не выделяется при наведении. В коде ничего кроме собственно функции clic(), которая выводит в лог набор цифр нет. В инспекторе вот что:


Что могло пойти не так?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.01.2020, 10:45
Ответы с готовыми решениями:

Как добавить кнопки (if (GUI.Button(new Rect(x1, y1, dx, dy), ii.name) в список List<Button>?
Хочу все кнопки добавить в список и выводить на экран из списка. void OnGUI() { if (window == &quot;main&quot;) ...

Если Button 1 и Button 2 нажаты - Button 3 стала активной, как?
Проверка если Button 1 и Button 2 нажаты - Button 3 стала активной Причем нужно чтобы это срабатывало только после того как вторая...

Обратиться к button которая входит в listBox
Добрый день! Хочу изменить Image которая находится в Button, которая является элементом listbox. Код страницы вообще не видит image. Как...

7
 Аватар для 1max1
3362 / 1775 / 1028
Регистрация: 26.10.2018
Сообщений: 5,204
19.01.2020, 11:07
Sprite Renderer не дружит с UI, кнопки создают обычно руками через меню и под канвасом.
1
 Аватар для MiKITA17
8 / 8 / 1
Регистрация: 18.11.2019
Сообщений: 109
19.01.2020, 15:27  [ТС]
Спасибо, но появились другие проблемы: во-первых canvas не хочет автоматически изменять свой размер под размер экрана, а сам я без понятия как его изменять. во вторых, как я понял, объекты прикреплённые к канвасу фиксированные, т.е. они всегда на одном месте экрана, а мне нужно, чтобы эти "кнопки" двигались относительно игрока. т.е. мне нужно просто отследить нажатие на большое количество объектов, но как я понимаю, без UI Button не обойтись?
Собственно канвас в инспекторе:

Сцена до запуска:

Сцена после запуска:

Картинка в центре загружена при помощи Sprite Renderer'а
0
 Аватар для 1max1
3362 / 1775 / 1028
Регистрация: 26.10.2018
Сообщений: 5,204
19.01.2020, 15:40
Лучший ответ Сообщение было отмечено MiKITA17 как решение

Решение

Либо читай гайды по UI Anchors и Canvas Scaler либо можешь использовать спрайты.
Но чтобы ловить клики по спрайтам нужно на них кинуть коллайдер и в скрипте обрабатывать нажатие в void OnMouseDown(), скрипт с методом должен быть на спрайте.
Кстати, спрайты не масштабируются под разные разрешения.
1
 Аватар для MiKITA17
8 / 8 / 1
Регистрация: 18.11.2019
Сообщений: 109
19.01.2020, 17:29  [ТС]
А если эти объекты создаются процедурно? Тогда можно как-то отследить кто нажал без UI и canvas? Просто нужно сделать игровое поле из объектов, с которыми можно будет взаимодействовать мышью. Без изучения вышеуказанного никак?
0
 Аватар для 1max1
3362 / 1775 / 1028
Регистрация: 26.10.2018
Сообщений: 5,204
19.01.2020, 19:10
Я же сказал что можно спрайтом, просто делай префаб объекта с коллайдером и компонентом как заготовку.
1
 Аватар для Steroid
296 / 217 / 86
Регистрация: 17.02.2016
Сообщений: 1,276
Записей в блоге: 1
19.01.2020, 22:24
на объекте должен висеть компонент который может ловить рейкасты
иначе никак
0
 Аватар для MiKITA17
8 / 8 / 1
Регистрация: 18.11.2019
Сообщений: 109
20.01.2020, 13:56  [ТС]
1max1, спасибо, помогло. Теперь буду думать, как отследить какой именно объект был нажат.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.01.2020, 13:56
Помогаю со студенческими работами здесь

Нужна функция которая возвращает id Button созданного динамически!
Нужна функция которая возвращает id Button созданного динамически! void CDlg::Cls_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT...

Button не работает
&lt;form class=&quot;form__container&quot; action=&quot;]send.php&quot; method=&quot;POST&quot;&gt; &lt;div class=&quot;form__container__input&quot;&gt; &lt;input id=&quot;firstName&quot;...

Не работает button
Чуваки, спасайте! С php вообще не знаком. Но нужно запилить сайт на php с базой данных. Застрял на самом простом. Стыдно, но не могу...

Создать button кнопку, которая при нажатии меняет название
Изменить программный код кнопки button таким образом, что бы при нажатии менялись надписи &quot;привет&quot; и &quot;пока&quot; для этого...

Не работает кнопка button
Здравствуйте. Сделал страницу с покупкой админки, однако при нажатии на кнопку &quot;Купить&quot; ничего не происходит.. Код: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Настройка записи справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru