如何在按钮单击的随机位置生成picturebox1的多个克隆
本文关键字:picturebox1 位置 按钮 单击 随机 | 更新日期: 2023-09-27 18:09:10
我们正在用Visual Studio 10为学校制作一个僵尸游戏。
我们想随机生成僵尸,也就是PictureBoxes。所有这些图片盒都需要自己的坐标,因为如果玩家的坐标与僵尸相同,玩家就需要失去HP。
我正在寻找这个功能3天了,所以我想为什么不在这里问一个专业的建议呢?
我们现在只有这段代码让一个(Picturebox)僵尸行走:
private void ZombieLopenOne()
{
// Begin Zombie Lopen
int zombx = EenZombie1.Location.X;
int zomby = EenZombie1.Location.Y;
if ( zomby > 420 + EenZombie1.Height ) {
zomby = -EenZombie1.Height;
EenZombie1.Location = new Point(zombx, zomby);
}
else
{
zomby += 3;
EenZombie1.Location = new Point(zombx, zomby);
}
// End Zombie Lopen
}
你能帮我们吗?
您可以使用List<T>
,它将包含所有僵尸。僵尸是一个简单的类,叫做zombie。类包含僵尸的x和y坐标。在窗体的Paint-Event中,程序循环遍历列表中的所有元素并在窗口上绘制纹理。
在你的窗口代码中:
class Zombie {
public Zombie(int x, int y) {
this.x = x;
this.y = y;
}
public int x;
public int y;
}
List<Zombie> zombies;
//Constructor of your window
public MainWindow() {
InitializeComponet(); //This is autogenerated by Visual Studio
this.Paint += new PaintEventHandler(Paint);
zombies = new List<Zombie>;
}
public void Paint(object sender, PaintEventArgs e) {
foreach(Zombie zombie in zombies) {
e.Graphics.DrawImage(/*Your zombie image*/, new Point(zombie.x, zombie.y));
}
}
您可以使用List<T>
类的方法添加和删除僵尸。