И снова я с глупыми вопросами. Есть ТабБар на Юнити. Каждый таб в нем представляет из себя геймобджект, внутри которого лежит текст (http://prntscr.com/qq9bz4), а также имеет такие скрипты : http://prntscr.com/qq9bkz .
Мне надо сделать, чтобы кликабельная область была больше самого таба, потому как на мобилке очень сложно туда попасть пальцем. Но в то же время размер таба не должен поменяться, потому как там все рассчитано.
Итак, я попыталась на уровень с текстом добавить еще один геймобджект, но с границами, выходящими за AllTabs, навесила на него скрипт Button, а с AllTabs, разумеется, сняла. Клик не работает.
Да, онКлик есть.
Ошибок нет. По крайней мере, связанных с кнопкой.
Меня еще смущает вот это:
в скриптах этого геймобджекта ссылки идут на верхний уровень, то бишь AllTabs.
То, что скриптов здесь много натыкано - то такое, изначально я только Button навешивала - все равно не работало.
З.Ы. Как сюда картинки вставлять, чтоб их сразу видно было?
З.Ы. Чет у меня вообще в принципе кнопку не получается сделать, даже на пустом проекте.
Кинула на сцену кнопку (через меню именно кнопку создала - она сама создала канвас и в нем очутилась). Создала скрипт с функцией void onClick(), в котором прописала Debug.Log(“click”); . Скрипт навесила в онКлик кнопки (хотя странно, почему мне не дало выбрать функцию, которую я хочу навесить, а надо было прописать руками). EventSystem тоже кинула на сцену, но ничего с ней не делала. Короч, клик не сработал. Где я туплю?
Чет я туплю, совсем забыла, как с Юнити-редактором работать.
Да, все нормально показывается, просто я в то место, куда скрипт надо засовывать, объект кнопки впихнула.
Короче, сделала все в отдельном проекте. Итого: пока на внутреннем объекте висит текст, все нормально работает. Как только его удаляешь - ничего не работает.
и расширить тексту границы до нужного размера, то работает все.
Ради эксперимента с нормально работающей обычной кнопки удалила Image и CanvasRenderer, остался только Button и скрипт с OnClick() - работает, блин, все! Я вообще не понимаю тогда, в чем проблема.
Я тоже так подумала. Но она есть лишь у текста. А у меня должно кликаться на тот геймобджект, на котором стоит скрипт баттон. К тому же я для опыта отключала этот райкаст у текста обычной кнопки - и на нее все равно нажималось.
Удалила текст - не работает нажатие. Добавила кнопке имейдж - заработало.
Получается, я не могу сделать кнопку, чтоб была без текста и имейджа и чтоб на нее кликалось?
apparently the best way to increase the collision area of a button is to add a UI Text element as a child.
Unlike UI Image, Text can be left blank and freely resized, creating an invisible collider box without any alpha overhead.