@x_shelves_x

Нужна помощь в исправлении скрипта для Unity на C#. Кто разбирается?

Всем доброго времени суток. Вопрос такой. Нужно написать скрипт основная функция которого состоит в том, чтобы при входе в объект-триггер, на который нацеплен этот скрипт, и при нажатии игроком какой-нибудь клавиши на клавиатуре (например Е) этот объект-триггер удалялся. Вот мои наработки, но это почему-то не работает:

using UnityEngine;
using System.Collections;

public class radio : MonoBehaviour
{
    void OnTriggerEnter(Collider other)
    {
        Debug.Log("Trigger");
        if (Input.GetKey(KeyCode.E))
        {
            Destroy(gameObject);
            Debug.Log("Button");
        }
 
    }

На триггер скрипт реагирует, выводя в консоль слово Trgger, а вот на нажатие не реагирует и не выводит в консоль сообщение Button.
**Input.GetKeyDown и Input.GetKeyUp** не работает
Прошу Вас мне помочь
Большое спасибо
  • Вопрос задан
  • 153 просмотра
Решения вопроса 1
Griboks
@Griboks Куратор тега C#
void OnTriggerEnter(Collider other) срабатывает в момент столкновения коллайдеров-триггеров. А нажатие клавиши клавиатуры происходит в другой момент. Вот и не срабатывает, хотя не всегда. Обычно такие вещи пишутся в Update.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@saylar
Разработчик Unity C#
Вам нужен OnTriggerStay
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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