Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么精灵不会被摧毁_C#_Unity3d_Destroy_Unity3d 2dtools - Fatal编程技术网

C# 为什么精灵不会被摧毁

C# 为什么精灵不会被摧毁,c#,unity3d,destroy,unity3d-2dtools,C#,Unity3d,Destroy,Unity3d 2dtools,现在我们正在研究一个无限跑步者,我发现了一个奇怪的错误。在某些东西离开屏幕后,它将被一个碰撞器捕捉到,这个碰撞器将摧毁一切。而且它几乎可以工作。它将摧毁地面、背景、你跳过的敌人,但不会摧毁新实施的“路障” 这是一张图片,绿色的占位符是路障 希望这有助于形象化我说的话 我用于销毁(绿框碰撞器)的脚本是: 这是路障的脚本: void OnCollisionEnter2D(Collision2D other) { if(other.gameObject.tag == "Play

现在我们正在研究一个无限跑步者,我发现了一个奇怪的错误。在某些东西离开屏幕后,它将被一个碰撞器捕捉到,这个碰撞器将摧毁一切。而且它几乎可以工作。它将摧毁地面、背景、你跳过的敌人,但不会摧毁新实施的“路障”

这是一张图片,绿色的占位符是路障 希望这有助于形象化我说的话

我用于销毁(绿框碰撞器)的脚本是:

这是路障的脚本:

        void OnCollisionEnter2D(Collision2D other)
{
    if(other.gameObject.tag == "Player")
    {
        Debug.Break ();
    }
}
所以基本上没有任何东西会破坏DestroyerScript。它甚至比敌人的剧本要简单得多……但是他们被摧毁了

提前感谢您的帮助,如果需要,我可以提供更多信息。
(哦,这张图片中的所有艺术都是占位符。^)

当玩家离开对撞机时,您可以尝试使用OnTiggereXit2D触发。并确保在之前为精灵添加了合适的碰撞R2D
我以前不使用它,但我认为它可能会起作用

我认为:如果你对unity3d有一些问题,最好不要问stackoverflow。。试试这个:也许可以试试这个。。。如果问题是基于联合体的。。。我只是觉得根据我的代码我可能犯了一个错误。看一看:并检查碰撞器。也许你设置了一个触发器,但你不应该。还要检查碰撞器是否都是2D类型。这就是我能猜到的。也许有帮助。否则请检查上面的链接,因为C#!=C#在Unity3D。
        void OnCollisionEnter2D(Collision2D other)
{
    if(other.gameObject.tag == "Player")
    {
        Debug.Break ();
    }
}