Страница 1 из 1

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

СообщениеДобавлено: 11 мар 2017, 11:44
Imil
Добрый день!
Есть кнопки для передвижения персонажа (вперед/назад). При нажатие на кнопку передается значение 1 лили -1, для движения право/ лево.
При нажатии на кнопку метод выполняется только один раз, а нужно чтобы выполнялся пока кнопка нажата
Можно ли реализовать данный функционал средствами элементов GUI без использования OnMouseDown() ?

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

СообщениеДобавлено: 11 мар 2017, 19:32
DiZZarK
GUI работает в каждом кадре так же как и Update
таким образом код типа if(GUI.Button... будет работать пока нажата кнопка что как я понимаю и нужно
более подробно можно найти здесь https://docs.unity3d.com/ru/530/ScriptReference/GUI.Button.html

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

СообщениеДобавлено: 11 мар 2017, 19:42
samana
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.

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

СообщениеДобавлено: 13 мар 2017, 08:07
Imil
Спасибо за ответы!