Методы элемента Button

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

Методы элемента Button

Сообщение Imil 11 мар 2017, 11:44

Добрый день!
Есть кнопки для передвижения персонажа (вперед/назад). При нажатие на кнопку передается значение 1 лили -1, для движения право/ лево.
При нажатии на кнопку метод выполняется только один раз, а нужно чтобы выполнялся пока кнопка нажата
Можно ли реализовать данный функционал средствами элементов GUI без использования OnMouseDown() ?
Аватара пользователя
Imil
UNец
 
Сообщения: 7
Зарегистрирован: 13 авг 2016, 21:51
Откуда: Краснодар
Skype: advt.yd
  • Сайт

Re: Методы элемента Button

Сообщение DiZZarK 11 мар 2017, 19:32

GUI работает в каждом кадре так же как и Update
таким образом код типа if(GUI.Button... будет работать пока нажата кнопка что как я понимаю и нужно
более подробно можно найти здесь https://docs.unity3d.com/ru/530/ScriptReference/GUI.Button.html
DiZZarK
UNец
 
Сообщения: 3
Зарегистрирован: 09 мар 2017, 14:56

Re: Методы элемента Button

Сообщение samana 11 мар 2017, 19:42

DiZZarK писал(а):GUI работает в каждом кадре так же как и Update


Не совсем так, но это сейчас неважно.

DiZZarK писал(а):таким образом код типа if(GUI.Button... будет работать пока нажата кнопка


GUI.Button сработает единожды при клике по кнопке, тут скорее подойдёт https://docs.unity3d.com/ru/530/ScriptR ... utton.html

Вообще такие штуки делают следующим образом. Перемещать персонажа всё равно надо в Update, а GUI кнопки будут лишь разрешать его двигать или нет. Вам нужно создать переменную-флаг (bool), которая будет меняться на true, когда кнопка GUI зажата, а в обратном случае меняться на false. В Update вы проверяете значение этой переменной и двигаете персонажа, если она true.
Аватара пользователя
samana
Адепт
 
Сообщения: 2619
Зарегистрирован: 21 фев 2015, 13:00
Откуда: Днепропетровск
Skype: samanaUnity
  • Сайт

Re: Методы элемента Button

Сообщение Imil 13 мар 2017, 08:07

Спасибо за ответы!
Аватара пользователя
Imil
UNец
 
Сообщения: 7
Зарегистрирован: 13 авг 2016, 21:51
Откуда: Краснодар
Skype: advt.yd
  • Сайт


Вернуться в uGUI

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

Сейчас этот форум просматривают: Yandex [Bot] и гости: 0