我正在开发一个非常小的Unity 5.4项目,我有几个" pellets"在游戏世界中,它附有一个刚体2D和2D多边形对撞机。然后我还有一个球,它有一个刚体2D,多边形Colider和一个物理材料,允许球反弹到其他物体。
以下代码附加到球上的脚本会做什么......任何事情,当它击中绿色颗粒但没有任何反应。我实际上并不希望它退出应用程序,这仅仅是为了示例目的。
以下是两个对象的属性:
java
答案 0 :(得分:0)
Application.Quit();
在编辑器中不起作用。它用于独立构建。将其替换为UnityEditor.EditorApplication.isPlaying = false;
现在,如果您希望它在Editor和Standalone Build中都有效:
void Start ()
{
//activate camera because I am lazy
var cam = GameObject.Find ("camera");
var ball = GameObject.Find ("ball");
Rigidbody2D rb = GetComponent<Rigidbody2D>();
cam.SetActive (true);
Debug.Log("Start Called!");
}
void Update ()
{
}
void OnCollisionEnter2D(Collision2D col)
{
Debug.Log("Collision detected: "+col.gameObject.name);
if (col.gameObject.tag == "Bricks") {
#if UNITY_EDITOR
UnityEditor.EditorApplication.isPlaying = false;
#else
Application.Quit();
#endif
}
}
下次测试某些内容是真还是假时,只需使用Debug.Log("It works");