现在我们正在研究 Infinity-Runner,我遇到了这个奇怪的错误。有东西离开屏幕后,它会被一个摧毁一切的对撞机捕获。它工作......几乎。它会摧毁地面、背景东西、你跳过的敌人,但不会摧毁新实施的“路障”。
这是一张图片,绿色占位符是障碍物 http://s4.postimg.org/8uaorv7ot/Bug.png 希望这可能有助于可视化我在说什么^^。
我用于 Destroyed(绿盒对撞机)的脚本是:
void OnTriggerEnter2D(Collider2D other)
{
if (other.tag == "Player")
{
Debug.Log ("Break is gonna happen");
Debug.Break();
}
else if (other.gameObject.transform.parent)
{
Destroy(other.gameObject.transform.parent.gameObject);
}
else
{
Destroy(other.gameObject);
}
}
这是障碍的脚本:
void OnCollisionEnter2D(Collision2D other)
{
if(other.gameObject.tag == "Player")
{
Debug.Break ();
}
}
所以基本上没有任何东西会破坏 DestroyerScript。它甚至比敌人的剧本简单得多……但他们被摧毁了。
提前感谢您的帮助,如果需要,我可以提供更多信息。(哦,这张照片中的所有艺术都是占位符^^)