如果你在OnColliderInter2D()中播放声音,或者我错过了什么,有什么限制吗



这是我的代码,它非常基本,我知道解决方案也会是,但我检查了参考,仍然没有修复它,任何建议都将不胜感激,谢谢!

using System.Collections;
using UnityEngine.Audio;
using System.Collections.Generic;
using UnityEngine;
public class Passed : MonoBehaviour
{
AudioSource audioData;
void Start()
{

}
void OnColliderEnter2D()
{
audioData = GetComponent<AudioSource>();
audioData.Play(0);
}
}

您是否在场景中创建了游戏对象:音频源并附加了音频?然后,您附加使用audioData创建的音频源。

另一方面,我会这样写代码:

void Start()
{
audioData = GetComponent<AudioSource>();
}
void OnColliderEnter2D()
{    
audioData.Play();
}

还要确保检测到碰撞。

确保脚本已附加到对象,我建议您将要播放的音频片段放在一个变量中,使用public AudioClip SomeClip。还要确保没有其他声音与您播放的声音相冲突。您应该只对背景音乐(或声音(使用AudioSource.Play(),因为AudioSource.Play()一次只能播放一个声音,如果您希望同时播放多个声音,请使用AudioSource.PlayOneShot()和此方法,您可以同时播放多种声音。还要确保AudioSource的设置正确。

要检测碰撞2d,您需要使用:

void OnCollisionEnter2D(Collision2D col)
{
Debug.Log("OnCollisionEnter2D");
}

相关内容

最新更新