GUI. Выбор кнопки. Button.Select()

Графический интерфейс пользователя

GUI. Выбор кнопки. Button.Select()

Сообщение RyT 12 июл 2017, 12:42

Здравствуйте. Такой вопрос:
Есть кнопки меню. По дефолту, в EventSystem, выбрана одна из кнопок (как First Selected), и она же подсвечивается. При наведении курсора на другую кнопку, она тоже начинает подсвечиваться, но подсветка с первой кнопки не пропадает, так как она выбрана Button.Select().
И проблема в том, что пока не нажмешь на кнопку, она не будет выбрана, и будут постоянно подсвечиваться 2 разные кнопки (одна - которая выбранная Button.Select(), а другая - на которую наводишь курсор)...
И вот я хотел просить: Можно ли как-то через скрипт реализовать выбор кнопки при наведении на нее курсора, а не по щелчку ЛКМ?
Я пробовал сделать это с помощью методов OnMouseEnter() или Button.Select(), но не получилось. Если кто-то знает, как это можно сделать, напишите, пожалуйста.
Заранее спасибо)

P.S.
Прикрепил бы изображения, но не смог загрузить их с пк... Часть интерфейса сайта как-то обрезана(
RyT
UNец
 
Сообщения: 4
Зарегистрирован: 11 июл 2017, 12:48

Re: GUI. Выбор кнопки. Button.Select()

Сообщение samana 12 июл 2017, 19:59

Вы точно говорите о GUI, а не о UI ?
Если всё таки о UI, то можете попробовать при over по кнопке, выполнять https://docs.unity3d.com/ScriptReferenc ... bject.html (второй параметр можно установить в null).
Аватара пользователя
samana
Адепт
 
Сообщения: 4738
Зарегистрирован: 21 фев 2015, 13:00
Откуда: Днепропетровск

Re: GUI. Выбор кнопки. Button.Select()

Сообщение RyT 13 июл 2017, 01:14

samana писал(а):Вы точно говорите о GUI, а не о UI ?
Если всё таки о UI, то можете попробовать при over по кнопке, выполнять https://docs.unity3d.com/ScriptReferenc ... bject.html (второй параметр можно установить в null).


Если честно, я сам не до конца определился это GUI или UI... Вроде речь о графической составляющей, а вроде и о скрипте.
Я почитал про метод, который Вы показали, но не до конца понял, как мне его применить с курсором мыши? Не подскажите?
RyT
UNец
 
Сообщения: 4
Зарегистрирован: 11 июл 2017, 12:48

Re: GUI. Выбор кнопки. Button.Select()

Сообщение samana 13 июл 2017, 06:41

В общем думаю речь о UI.
Если вам не нужна навигация TAB-ом, то можете в компоненте каждой кнопки установить Navigation => None. Тогда и скрипты писать не надо.
Аватара пользователя
samana
Адепт
 
Сообщения: 4738
Зарегистрирован: 21 фев 2015, 13:00
Откуда: Днепропетровск

Re: GUI. Выбор кнопки. Button.Select()

Сообщение RyT 13 июл 2017, 20:49

samana писал(а):В общем думаю речь о UI.
Если вам не нужна навигация TAB-ом, то можете в компоненте каждой кнопки установить Navigation => None. Тогда и скрипты писать не надо.


Да, я знаю про None, но проблема в том, что мне нужна была навигация с помощью клавиш со стрелками.
Но вот с мышкой объединить не получается.
RyT
UNец
 
Сообщения: 4
Зарегистрирован: 11 июл 2017, 12:48

Re: GUI. Выбор кнопки. Button.Select()

Сообщение RyT 16 июл 2017, 14:09

Я разобрался. Если у кого-то вдруг возникнет подобная проблема, то вот решение:
1.Добавьте компонент Event Trigger на кнопки меню.
2.Нажмите кнопку "Добавить" и выберите PointerEnter.
3.Теперь нажмите на кнопку'+', чтобы добавить новый пункт в перечень событий PointerEnter Тип(BaseEventData).
4.Выберите объект, содержащий скрипт. ( в моем случае это была эта же самая кнопка)
5.Теперь выберите функцию, которая будет вызываться из списка функций. (У меня: Button -> Select() )

После этого кнопка будет выбираться не по щелчку, а просто при наведении на нее курсора.
RyT
UNец
 
Сообщения: 4
Зарегистрирован: 11 июл 2017, 12:48

Re: GUI. Выбор кнопки. Button.Select()

Сообщение samana 16 июл 2017, 17:49

RyT писал(а):Я разобрался. Если у кого-то вдруг возникнет подобная проблема, то вот решение:
1.Добавьте компонент Event Trigger на кнопки меню.
2.Нажмите кнопку "Добавить" и выберите PointerEnter.
3.Теперь нажмите на кнопку'+', чтобы добавить новый пункт в перечень событий PointerEnter Тип(BaseEventData).
4.Выберите объект, содержащий скрипт. ( в моем случае это была эта же самая кнопка)
5.Теперь выберите функцию, которая будет вызываться из списка функций. (У меня: Button -> Select() )

После этого кнопка будет выбираться не по щелчку, а просто при наведении на нее курсора.


Спасибо, будем знать!
Аватара пользователя
samana
Адепт
 
Сообщения: 4738
Зарегистрирован: 21 фев 2015, 13:00
Откуда: Днепропетровск


Вернуться в uGUI

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3