現在、私たちは 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 を混乱させるものは何もありません。敵のスクリプトよりもはるかに単純ですが、敵は破壊されます。
事前にご協力いただきありがとうございます。必要に応じて、より多くの情報を提供できます。(ああ、この写真のすべてのアートはプレースホルダーのものです^^)