制作一个以恒定速度行进的物体

时间:2013-06-03 18:15:53

标签: c# timer

我正在使用计时器来动画物体以恒定速度行进。

这是我的代码:

  Class class1 = new Class();
    public int x;
    public int y;

    public Form1()
    {
        InitializeComponent();
    }

    protected override void OnPaint(PaintEventArgs e)
    {    
        Graphics g = e.Graphics;
        class1.Draw(g);
    }
 private void timer1_Tick(object sender, EventArgs e)
    {
        x += 1;
        class1.Move(x/2, x/2);
        Invalidate();

    }

类别:

  class Class
{
    private int x;
    private int y;

    public void Draw(Graphics g)
    {
        SolidBrush Brush = new SolidBrush(Color.White);
        g.FillRectangle(Brush, x, y, 10, 10);
    }

    public void Move(int X, int Y)
    {
        x = x + X/3;
        y = y + Y/3;
    }
}

广场正在加速,有关如何让它以恒定速度行驶的任何想法吗?

1 个答案:

答案 0 :(得分:3)

您每次都会递增“x”,然后将其用作移动的增量。评论:

 // x += 1;
 class1.Move(x/2, x/2);

您还需要为此指定默认的“x”。