我正在开发一款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);
所以必须对距离做些什么。
有没有更好的解决方案?
答案 0 :(得分:0)
事实证明我使用OnMousUpAsButton事件禁用了游戏对象,这就是声音停止播放的原因。