如何检查 OnCollisionEnter2D Continuous
How can check the OnCollisionEnter2D Continuous
我有一个动画和两个 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;
}
你可以简单地使用OnCollisionStay2D(Collision2D)你可以在这个函数中播放你的动画。
public AudioClip A1;
void OnCollisionStay2D(Collision2D coll)
{
if (coll.gameObject.tag == "Button1")
AudioSource.PlayClipAtPoint (A1, transform.position);
}
使用OnCollisionStay2D,每次都会检查崩溃
使用UnityEngine;
使用 System.Collections;
public class ExampleClass : MonoBehaviour {
void OnCollisionStay2D(Collision2D coll) {
if (coll.gameObject.tag == "Button1")
b1 = true;
}
}
我有一个动画和两个 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;
}
你可以简单地使用OnCollisionStay2D(Collision2D)你可以在这个函数中播放你的动画。
public AudioClip A1;
void OnCollisionStay2D(Collision2D coll)
{
if (coll.gameObject.tag == "Button1")
AudioSource.PlayClipAtPoint (A1, transform.position);
}
使用OnCollisionStay2D,每次都会检查崩溃
使用UnityEngine; 使用 System.Collections;
public class ExampleClass : MonoBehaviour {
void OnCollisionStay2D(Collision2D coll) {
if (coll.gameObject.tag == "Button1")
b1 = true;
}
}