wide_e
@wide_e
Начинающий разработчик на C#

Как сделать чтобы действие выполнялось пока удерживается кнопка на Canvas?

У меня есть кнопка блока. Мне нужно чтобы действие блока выполнялось пока кнопка удерживается. Я пробовал через Event Trigger, но именно при удержании не получается. Чтобы функция вызвалась ещё раз нужно обязательно отпустить и нажать ещё раз. Использую OnPointerEnter.
  • Вопрос задан
  • 75 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Dafeds
Ну, как вариант, может, и имеет место быть:
using System.Collections;
using UnityEngine;
using UnityEngine.EventSystems;

public class Test : MonoBehaviour, IPointerDownHandler, IPointerUpHandler
{
    private bool m_IsPressed;
    public void OnPointerDown(PointerEventData eventData)
    {
        m_IsPressed = true;
        StartCoroutine(Execute());
    }
    public void OnPointerUp(PointerEventData eventData)
    {
        m_IsPressed = false;
    }
    private IEnumerator Execute()
    {
        while (m_IsPressed == true)
        {
            yield return new WaitForSeconds(0.5f);
            // что-либо делать
        }
    }
}

P.S. Время можешь выставить своё
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы