如何防止多个物体/图片相互影响?

时间:2015-04-24 12:55:42

标签: c# xna

使用xbox控件当我按Y时我想要一个陷阱出现,但确实如此,但是我不希望陷阱在彼此之上,那么它不应该放置陷阱。 我现在可以放置多少,但是当我将陷阱放在另一个上面时,它是可能的,但在此之后我不能再放置陷阱了。陷阱类有一个hitbox。这是我的代码。

if (Ypress == true)
        {
            canPlace = true;
            for (int i = 0; i < trapList.Count; i++)
            {
                if (trapList[i] != trap && trapList[i].hitBox.Intersects(trap.hitBox))
                {
                    canPlace = false;
                }
            }

            if (canPlace)
            {
                trap = new Trap(pos, TextureManager.archerTrap, new Point(50, 50), new Point(3, 1), 2000, true);
                trapList.Add(trap);
            }
        }

1 个答案:

答案 0 :(得分:0)

根据您发布的代码的外观,在循环过程中,library/build.gradle很可能是trap或您不想要的值。

null代码移到for循环之前(Where trap = new Trap(...)),这样您正在检查碰撞的陷阱就是您要放置的陷阱。如果事实证明你不能放置那个陷阱,那么你所要做的就是跳过canPlace = true;行并进行排序(推测trapList.Add(trap);并未在别处使用)。< / p>