我有一个动画和两个2D游戏对象一行和一个框。 Line有关于转换x的动画。不久,Line通过框进入右侧并重新启动。当线路崩溃时,我试着播放音频。该系统通过void OnCollisionEnter2D工作。但它的工作只有一次。 OnCollisionEnter2D每次都没有检查崩溃。那么,我该如何解决逻辑问题。
public AudioClip A1;
public bool b1;
void Update(){
if (b1 == true) {
AudioSource.PlayClipAtPoint (A1, transform.position);
}
}
void OnCollisionEnter2D(Collision2D coll) {
if (coll.gameObject.tag == "Button1")
b1 = true;
}
void OnCollisionExit2D(Collision2D coll){
if (coll.gameObject.tag == "Button1")
b1 = false;
}
答案 0 :(得分:1)
您只需使用 OnCollisionStay2D(Collision2D)即可在此功能中播放动画。
public AudioClip A1;
void OnCollisionStay2D(Collision2D coll)
{
if (coll.gameObject.tag == "Button1")
AudioSource.PlayClipAtPoint (A1, transform.position);
}
答案 1 :(得分:0)
使用OnCollisionStay2D,它会每次检查崩溃
使用UnityEngine; 使用System.Collections;
public class ExampleClass : MonoBehaviour {
void OnCollisionStay2D(Collision2D coll) {
if (coll.gameObject.tag == "Button1")
b1 = true;
}
}