Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как проверить, зажата ли кнопка в Unity 3D C#

Родион Перкин Ученик (70), на голосовании 6 месяцев назад
У меня есть код с функцией Run(), и UI кнопка которая через Event Triger при НАЖАТИИ вызывает эту функцию, а мне надо при ЗАЖАТИИ чтобы она вызывала эту функцию.
Помогите в решении этого вопроса
Голосование за лучший ответ
Ля-Какой Каха Ученик (179) 7 месяцев назад
Для того чтобы вызывать функцию при зажатии кнопки в Unity 3D с помощью C#, вам нужно использовать класс Input. Вот пример кода, который позволит вам проверять, зажата ли кнопка вместо того, чтобы реагировать только на нажатие:

csharp
Copy code
using UnityEngine;

public class ButtonController : MonoBehaviour
{
// Установите здесь ссылку на вашу кнопку в Unity
public GameObject button;

// Установите здесь имя кнопки, которую вы хотите проверять на зажатие
public string buttonName;

void Update()
{
if (Input.GetButton(buttonName)) // Проверяем, зажата ли кнопка с именем buttonName
{
Run(); // Вызываем вашу функцию при зажатии кнопки
}
}

public void Run()
{
// Ваш код для выполнения при зажатии кнопки
}
}
Просто добавьте скрипт на объект в сцене, установите ссылку на вашу кнопку и укажите имя кнопки, которую вы хотите проверять на зажатие. Метод Update будет постоянно проверять, зажата ли указанная кнопка, и при зажатии вызывать функцию Run().
Родион ПеркинУченик (70) 7 месяцев назад
в строке public string buttonName так и оставить или дописать button
Игорь Пинкман Профи (896) 7 месяцев назад
Так добавь в Event Trigger опускание кнопки и пусть если произойдёт опускание, то переменная, отвечающая за зажатие изменится
Похожие вопросы