【发布时间】:2015-08-20 18:56:25
【问题描述】:
我正在开发一款类似生存的游戏,我有两种类型的碰撞,一种是玩家的敌人,另一种是敌人的子弹。我还有一个生命值条,由于某种原因,移除 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++;
}
}
这是敌人和玩家碰撞的代码
【问题讨论】: