我正在开发2D游戏,并且有一个Button预制件,单击后会播放声音。
我在场景中有这个预制件的多个实例,但是其中只有2个播放声音,其他的则不播放任何东西,或者只是播放很短的声音。
我以为这是由相机和游戏物体的距离引起的,但是如果我将一个静音按钮放置到一个工作按钮的位置,它仍然不会播放任何内容。
我的代码很简单:
...
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);
因此,它必须与距离做一些事情。
有更好的解决方案吗?
最佳答案
事实证明,我通过OnMousUpAsButton事件禁用了游戏对象,所以这就是声音停止播放的原因。
关于audio - Unity只播放少数游戏对象的声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31517167/