プレーヤーがコインに衝突したときにサウンドを再生したいが、サウンドは再生されない。私は何の誤りもありません。私はAudio SourceとUnityのスクリプトにサウンドを添付しました。audio.PlayOneShotがUnityで動作しない
audio = GetComponent<AudioSource>();
AudioSource
このスクリプト(TriggerCoin
が)に取り付けられ、このスクリプトまたはゲームオブジェクトに接続されていることを示しています。
using UnityEngine;
[RequireComponent(typeof(AudioSource))]
public class TriggerCoin : MonoBehaviour
{
//TODO
//Counter of collected coins
public AudioClip coinSound;
new AudioSource audio;
void Start()
{
audio = GetComponent<AudioSource>();
}
void Update()
{
}
void OnTriggerEnter2D(Collider2D other)
{
GameObject gObj = other.gameObject;
if (gObj.CompareTag("Player"))
{
Debug.Log("You picked up coin!");
audio.PlayOneShot(coinSound, 0.8f);
Destroy(gameObject);
}
}
}
これは、クリップの再生が変更される前にゲームオブジェクトが破壊されている可能性があると考えられます。破壊を遅らせてください。 'Destroy(gameObject、1f); ' – ryeMoss
それは、ありがとう! – abs