我有一个项目,我动态创建从屏幕一侧到另一侧的图片框。用户需要点击图片框,当他们点击时,他们将消失。但是,如果任何图片框从屏幕的一侧到达另一侧,则会丢失生命。 我的问题是,生活似乎随机消失。我怀疑这是因为图片框没有完全从项目中移除,并且甚至在我点击它们之后仍以某种方式继续旅行。 这是我的代码。非常感谢你的帮助:)。
//移动计时器
private void timerMovement_Tick(object sender, EventArgs e)
{
int i;
for (i = 0; i < Zombie.Count(); i++)
{
int x = Zombie[i].img.Location.X;
int y = Zombie[i].img.Location.Y;
if (Zombie[i].loc == 0)
{
x = x + 10;
if (Zombie[i].img.Location.X > 1200 && Zombie[i].img != null)
{
Zombie[i].img.Dispose();
this.Controls.Remove(Zombie[i].img);
label5.Text = Convert.ToString(Zombies_Total - Zombies_Killed - 1);
Life_Remove();
label7.Text = Convert.ToString(i);
}
}
else
{
x = x - 6;
if (Zombie[i].img.Location.X < -100 && Zombie[i].img != null)
{
Zombie[i].img.Dispose();
this.Controls.Remove(Zombie[i].img);
label5.Text = Convert.ToString(Zombies_Total - Zombies_Killed - 1);
Life_Remove();
label7.Text = Convert.ToString(i);
}
}
Point p = new Point(x, y);
Zombie[i].img.Location = new Point(x, y);
}
//生命清除
private void Life_Remove()
{
if (pictureBoxLife1.Visible == true)
pictureBoxLife1.Visible = false;
else
if (pictureBoxLife2.Visible == true)
pictureBoxLife2.Visible = false;
else
if (pictureBoxLife3.Visible == true)
pictureBoxLife3.Visible = false;
}