Пятница, 24 Мая 2024, 20:33

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Наследник абстрактного класса не вызывает методы
vampir0305Дата: Четверг, 28 Октября 2021, 20:32 | Сообщение # 1
Unity C# Programmer
Сейчас нет на сайте
Есть абстрактный класс Item, от него наследуется класс Apple. В классе Item есть абстрактный метод Use. В классе Apple метод переопределяется и реализуется.

Код

public class Apple : Item
{
    public override void Use()
    {
        audioSource.PlayOneShot(audioSource.clip);
        Debug.Log("Sound");
    }
}


Метод Use вызывается при нажатии кнопки, когда игрок смотрит на объект(выпускаем луч и получаем ссылку на экземпляр класса Item). Проблема в том, что Debug.Log срабатывает, а воспроизведение звука нет. Также не срабатывает включение/отключение коллайдера(Collider.enabled). Присваивание значения bool работает.

Добавлено (28 Октября 2021, 20:52)
---------------------------------------------
Всё, разобрался. Слишком быстро отключал объект на котором висел AudioSource.


Красочная сюжетно-ориентированная игра-головоломка

Сообщение отредактировал vampir0305 - Четверг, 28 Октября 2021, 20:33
  • Страница 1 из 1
  • 1
Поиск:

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