Понедельник, 23 Декабря 2024, 07:25

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Реализация зажатия кнопки
DesertRRДата: Понедельник, 31 Августа 2020, 17:55 | Сообщение # 1
был не раз
Сейчас нет на сайте
Мой явно плохой код:
Код


    public float _acc = 100;
    public float _speed = 0f;

    public float jumpSpeed = 0.85f;
    public int jumps = 0;
    
    public void OnLeftButton()
    {
        _speed= -_acc;
        rb.AddForce(new Vector2(_speed,0f).normalized*_acc);
    }

    public void OnRightButton()
    {
        _speed= _acc;
        rb.AddForce(new Vector2(_speed,0f).normalized*_acc);
    }

    public void OnUpButton()
    {
        if(jumps==1)
        {
            _speed= _acc;
            jumps=0;
            rb.AddForce(new Vector2(0f,_speed*jumpSpeed)*_acc,ForceMode2D.Impulse);
        }
    }


Каждая функция вызывается при нажатии на определенную кнопку.
Но все работает немного не так, как мне нужно..
Функция срабатывает, но только один раз в момент нажатия, а мне нужно, чтобы функция повторялась, пока кнопка зажата (именно зажата)

Использовал PointerDown и PointerClick в компоненте Event Trigger.

Очень нужна ваша помощь, пытаюсь уже третий день :'(


Russain Morder Peon :q

Сообщение отредактировал DesertRR - Вторник, 01 Сентября 2020, 20:58
IlyaKosДата: Среда, 02 Сентября 2020, 02:05 | Сообщение # 2
участник
Сейчас нет на сайте
Можно в момент нажатия присваивать например isPressed = true, и обновлять, пока тру, а при отжатии isPressed сбрасывать.
DesertRRДата: Среда, 02 Сентября 2020, 18:43 | Сообщение # 3
был не раз
Сейчас нет на сайте
IlyaKos, Большое спасибо, способ сработал. Не понимаю, как сам на додумался до этого решения. :)

Russain Morder Peon :q
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг