Как исправить ошибку "Не удается воспроизвести отключенный источник звука"?
Я пытаюсь добавить в свою игру звук, который всякий раз, когда игрок перемещается через определенное пространство, воспроизводит звук хруста. Я создал файл AudioSource и файл.OGG для звука.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class SpaceBlue : MonoBehaviour
{
public Transform spaceNext;
public AudioSource stepOnObject;
public AudioClip stepOnSound;
private void Start()
{
stepOnObject.clip = stepOnSound;
stepOnObject.enabled = true;
}
private void OnTriggerEnter(Collider other)
{
if (other.tag == "Player")
{
stepOnObject.Play();
if (BoardScript.diceValue > 0)
{
BoardScript.diceValue -= 1;
Debug.Log("The dice are now " +BoardScript.diceValue);
other.transform.LookAt(spaceNext);
}
}
}
}
Я включил источник и клип в свой игровой объект, и я попробовал его как с выбранным "Play on wake", так и без него.
Всякий раз, когда игра проходит по игроку, идет по объекту, я получаю предупреждение в движке Unity, говорящее, что источник отключен.
Любая помощь приветствуется:)
2 ответа
У меня была похожая проблема, и я исправил ее, изменив местоположение вызова Play() после вызова Destroy(GameObject). Я бы порекомендовал попробовать переместить вызов Play() в конец функции или попробовать Invoke("stepOnObject.Play", 0.5f); чтобы его вызвали.
В противном случае, убедитесь, что его флажок отмечен, и что AudioSource действительно имеет прикрепленный AudioClip.
Если у вас есть фрагмент кода в каком-то другом скрипте, который уничтожает этот игровой объект или делает SetActive ложным, то лучшим способом решить эту проблему будет задержка этого фрагмента кода на некоторое время с помощью сопрограммы.