碰撞不能正常工作?

时间:2015-08-20 10:51:41

标签: c# collision

我正在进行类似游戏的生存,我有两种类型的碰撞,1是玩家的敌人和敌人的子弹。我也有一个健康栏,由于某些原因,在移除了picbox之后,健康状况仍然会像敌人与玩家互动一样下降。

private void checkbulletcollsion()
{
    for (int i = 0; i < bulletlistupright.Count; i++)
    {
        for (int u = 0; u < infectedlistdownleft.Count; u++)
        {
            if (bulletlistupright[i].Bounds.IntersectsWith(infectedlistdownleft[u].Bounds))
            {
                this.Controls.Remove(infectedlistdownleft[u]);
                this.Controls.Remove(bulletlistupright[i]);
            }
        }
    }
}

这是子弹碰撞代码的一个区块(所有8个方向的所有代码都相同)

for (int i = 0; i < infectedlistupright.Count; i++)
{
    if (infectedlistupright[i].Bounds.IntersectsWith(picplayer.Bounds))
    {
        infectedcount6 = 0;

        if (infectedcounter % 15 == 0)
        {
            health--;
        }

        infectedcounter++;
    }                
}

这是敌人和玩家之间碰撞的代码

1 个答案:

答案 0 :(得分:1)

即使您已删除了UI控件,也未将其从infectedlist*数组中删除。