Unity只播放一些游戏对象的声音

时间:2015-07-20 12:57:20

标签: audio unity3d 2d unity3d-2dtools

我正在开发一款2D游戏,并且有一个按钮预制件,它可以在点击时播放声音。

我的场景中有多个这个预制件的实例,但其中只有2个播放声音,其他人不播放任何内容,或只是非常短的内容。

我认为它是由相机和gameObject的距离引起的,但是如果我把一个静音的按钮放到一个工作按钮的位置,它仍然不会播放任何东西。

我的代码很简单:

...
public AudioSource myAudioSrc;

public AudioClip btnSound;
...
protected virtual void OnMouseUpAsButton() {
    if(!isEnabled) { return; }
    myRenderer.sprite       = normalImg;
    transform.localScale    = normalSize;

    myAudioSrc.PlayOneShot(btnSound);
    Debug.Log(gameObject.name);

    //üzenet küldése az objektumnak a message metódus hívására az data paraméterrel
    target.SendMessage(message, data);
}
...

修改

我使用了代码:

 AudioSource.PlayClipAtPoint(btnSnd, Camera.main.transform.position);

所以必须对距离做些什么。

有没有更好的解决方案?

1 个答案:

答案 0 :(得分:0)

事实证明我使用OnMousUpAsButton事件禁用了游戏对象,这就是声音停止播放的原因。