如何在C#中为图像设置动画

时间:2011-04-04 19:10:56

标签: c# image animation

我正在尝试使用C#设置图像动画。基本上,我想拍摄一张图像并将其连接到另一个功能,并根据1到10的比例,使图像向上或向下移动。默认情况下,图像将从1开始。我已经搜索过,我已经找到了使形状在屏幕上上下移动的方法,但不是实际的图像。图像很小,比如60x60像素。我觉得这应该很简单,但我还没弄明白。我想的只是在Windows窗体上放置一个图像,然后基本上让它在窗体的y轴上移动或移动,但我希望它能够顺利移动。

好的,我能够将一个按钮挂钩到一个计时器功能,并让按钮在屏幕上上下平滑移动。该按钮必须在程序运行期间保持移动。但是,我很难写一个功能,一旦图像到达某个位置就停止计时器和图像(按钮)移动。没有它,计时器继续,图像(按钮)移出屏幕。我已经尝试搞乱了button.Location.Y函数,但我还没有让它正常工作。任何人都可以建议吗?谢谢。哦,是的,一旦图像(按钮)到达Y或192的位置,它应该停止移动。

我所拥有的一个例子:

    private void timer2_Tick(object sender, EventArgs e)
    {
        button2.Top = button2.Top + 1;
        if (button2.Location.Y == button2.Location.Y - 192)
        {
            timer2.Stop();
            timer3.Stop();
        }
        //if (timer_limit < 100)
        //{
        //    button2.Top = button2.Top + 1;
        //    timer_limit++; 
        //}
        //else
        //{
        //    timer2.Stop();
        //}
    }

1 个答案:

答案 0 :(得分:2)

有几种方法可以做到这一点。您可以使用PictureBox并更改其Location属性。或者您可以在窗体的OnPaint()覆盖中绘制图像,并将参数更改为e.Graphics.DrawImage()。然后,您必须调用Invalidate()以强制运行OnPaint方法。这是最便宜的方式。