我是一个正在从事个人项目的初学者。 我设法使用W,A,S,D键移动图片框。 接下来我要做的是让我的图片框在移动的任何地方留下痕迹, 并在路径越过它们时将其擦除(有点像pacman)
路径可以是直线或一堆点。 我尝试通过绘制新的矩形作为路径,但无法正常工作。 就像我说的,我是初学者:)
这是我到目前为止所拥有的:
private void Form1_KeyDown(object sender, KeyEventArgs e, PaintEventArgs a)
{
int x = pictureBox1.Location.X;
int y = pictureBox1.Location.Y;
if (e.KeyCode == Keys.W) y -= speed;
else if (e.KeyCode == Keys.A) x -= speed;
else if (e.KeyCode == Keys.D) x += speed;
else if (e.KeyCode == Keys.S) y += speed;
Collision(new Rectangle(x, y, pictureBox1.Width, pictureBox1.Height), pictureBox2);
Collision(new Rectangle(x, y, pictureBox1.Width, pictureBox1.Height), pictureBox3);
if (movement == true)
{
pictureBox1.Location = new Point(x, y);
}
}
private void Collision(Rectangle rect, PictureBox b)
{
if (rect.IntersectsWith(b.Bounds))
{
movement = false;
}
}
private void Form1_KeyUp(object sender, KeyEventArgs e)
{
movement = true;
}