【发布时间】:2016-03-15 23:35:03
【问题描述】:
我正在与 unity 合作,但音频有问题。这是当用户单击按钮时,对象掉在地上并销毁的场景。单击按钮时播放物体掉落的音效。然后销毁,再次实例化对象,然后再次播放相同的点击音效。但是当一个物体正在下落并且此时没有碰撞时,用户再次单击该按钮声音再次播放。我希望当一个对象完全销毁而不是再次单击并播放声音时。
代码 CubeScript:
public class Cube : MonoBehaviour {
Rigidbody2D body;
void Start () {
body = GetComponent<Rigidbody2D>();
body.isKinematic = true;
}
}
代码碰撞脚本:
public class Ground : MonoBehaviour {
private Button bt;
public GameObject cube;
public AudioSource source;
public AudioClip clip;
void Start () {
bt = GameObject.FindGameObjectWithTag ("Button").GetComponent<Button> ();
bt.onClick.AddListener (() => Fall ());
}
void OnCollisionEnter2D(Collision2D col) {
Destroy (col.gameObject);
Instantiate (cube,new Vector3(0f,4.19f,0f),Quaternion.identity);
}
public void Fall(){
GameObject.FindGameObjectWithTag ("Player").GetComponent<Rigidbody2D> ().isKinematic = false;
source.PlayOneShot(clip);
}
}
【问题讨论】: