Unity3d 当对象与碰撞器碰撞时声音不播放/如何播放声音并同时更改场景-unity

Unity3d 当对象与碰撞器碰撞时声音不播放/如何播放声音并同时更改场景-unity,unity3d,Unity3d,你好,我想在游戏对象与碰撞器碰撞时播放声音。我查看了Unity文档,但我似乎不明白为什么这不起作用。我已将音频源应用于对撞机 公共音频剪辑冲击; 私人音频源音频源; void Start(){ audioSource=GetComponent(); } 空心OnCollisionInter2D(碰撞2D coll){ 如果(coll.gameObject.tag==“敌人”){ audioSource.PlayOneShot(冲击); Application.LoadLevel(“win”);

你好,我想在游戏对象与碰撞器碰撞时播放声音。我查看了Unity文档,但我似乎不明白为什么这不起作用。我已将音频源应用于对撞机

公共音频剪辑冲击;
私人音频源音频源;
void Start(){
audioSource=GetComponent();
}
空心OnCollisionInter2D(碰撞2D coll){
如果(coll.gameObject.tag==“敌人”){
audioSource.PlayOneShot(冲击);
Application.LoadLevel(“win”);
}
}

问题出在start函数中,因为start的“s”是大写的

替换这个

void start()

void Start()


这将修复空引用异常

问题出在start函数中,因为start的“s”是大写的

替换这个

void start()

void Start()


这将修复空引用异常

我解决了它。我试着加载一个新的关卡,同时播放声音,所以我只需要增加一些与合作程序分离的时间。现在,我的脚本看起来像这样,可以工作了。希望我能帮助别人

void oncollisioninter2d(Collision2D coll){
如果(coll.gameObject.tag==“敌人”){
GetComponent().Play();
start例程(MyLoadLevel(0.5f,1));
}
}
IEnumerator MyLoadLevel(浮点延迟,整数级)
{
产生返回新WaitForSeconds(延迟);
应用程序。加载级别(“win”);
}

我解决了它。我试着加载一个新的关卡,同时播放声音,所以我只需要增加一些与合作程序分离的时间。现在,我的脚本看起来像这样,可以工作了。希望我能帮助别人

void oncollisioninter2d(Collision2D coll){
如果(coll.gameObject.tag==“敌人”){
GetComponent().Play();
start例程(MyLoadLevel(0.5f,1));
}
}
IEnumerator MyLoadLevel(浮点延迟,整数级)
{
产生返回新WaitForSeconds(延迟);
应用程序。加载级别(“win”);
}

老实说,除非问题中有其他问题,否则这应该是一条评论。老实说,除非问题中有其他问题,否则这应该是一条评论。