当对象单击C#Unity时,音频无法播放

时间:2017-03-04 07:11:17

标签: c# audio unity3d

我的.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 () {

    }
}

Here is a screenshot of my setup in Unity.

1 个答案:

答案 0 :(得分:0)

问题是播放的声音和带有AUDIOSOURCE的物品被摧毁。这就是你没有听到任何声音的原因。 audioSource被破坏,您只能听到声音的第一个.001秒。我建议你使用Destroy(this.gameobject,hit.audioclip.Lenght);或者是一个协程。