我正在制造迷你游戏,宇宙飞船需要避开陨石。我有两个计时器用于创建淋浴,第二个用于移动流星。 tick(2000)上的第一个计时器具有以下代码:
int pozicija = rnd.Next(1, 26);
pozicija *= 30;
meteor[i] = new PictureBox()
{
BackColor = Color.Transparent,
Size = new Size(30, 30),
Location = new Point(pozicija, 0),
Image = imageList2.Images[0],
};
this.Controls.Add(meteor[i]);
i++;
创造随机流星坠落,这是有效的。但我有一个计时器,在tick(1)上将流星移动到表格的底部,我使用了这段代码:
for (int j = 0; j < i; j++)
{
meteor[j].Top += 5;
if (meteor[j].Location.Y == 800)
{
meteor[j].Controls.Remove(meteor[i]);
meteor[j].Dispose();
}
}
在这里,我将5px添加到我的流星物体顶部,如果它们掉落,我会丢弃陨石。在创建的每个陨石之后,所有陨石的移动都比它们应该的要慢。 我还将pictureBox数组视为全局和随机数。 有人能为我提供解决方案或为什么会这样?如果你需要在这里看到这个表格你有img。