我的.wav声音文件在调用时无法播放。声音文件正常工作,因为当我在音频源组件中选择“Play On Awake”时,会播放声音文件。如果我调用hit.Play();它也会播放;在Start和Update方法中。但是,它不在我的OnMouseOver或OnMouseDown方法中播放;即使他们处于完美的工作状态,否则。
我做了大量的研究,只是为了遇到不能解决我的问题的弃用代码或解决方案;所以如果有人对我的问题有任何见解,我们将非常感谢你的帮助!
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class clickDissapear : MonoBehaviour {
public AudioSource hit;
private void OnMouseDown()
{
hit.Play();
Destroy(this.gameObject);
}
private void OnMouseOver()
{
if (Input.GetKeyDown(KeyCode.Z))
{
hit.Play();
Destroy(this.gameObject);
}
if (Input.GetKeyDown(KeyCode.X))
{
hit.Play();
Destroy(this.gameObject);
}
}
private void OnBecameInvisible()
{
Destroy(gameObject);
//Play Miss
}
void Start () {
hit = GetComponent<AudioSource>();
}
void Update () {
}
}
答案 0 :(得分:0)
问题是播放的声音和带有AUDIOSOURCE的物品被摧毁。这就是你没有听到任何声音的原因。 audioSource被破坏,您只能听到声音的第一个.001秒。我建议你使用Destroy(this.gameobject,hit.audioclip.Lenght);或者是一个协程。