移动文本框C#时绘制轨迹

时间:2019-11-28 15:16:47

标签: c# winforms

我是一个正在从事个人项目的初学者。 我设法使用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;
    }

0 个答案:

没有答案