这是我的代码,它非常基本,我知道解决方案也会是,但我检查了参考,仍然没有修复它,任何建议都将不胜感激,谢谢!
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");
}