C# 如何在C语言中设置图像动画#
我正在尝试用C#制作图像动画。基本上,我想拍摄一张图像并将其连接到另一个函数,根据1到10的比例,使图像向上或向下移动。默认情况下,图像将从1开始。我已经搜索并找到了使形状在屏幕上上上下移动的方法,但不是实际的图像。图像很小,比如说60x60像素。我觉得这应该很简单,但我还没有弄明白。我想在Windows窗体上放置一个图像,然后基本上让它沿窗体的y轴上下移动,但我希望它能够平滑地移动 好的,我可以把一个按钮连接到一个定时器功能上,让按钮在屏幕上平稳地上下移动。在程序运行期间,按钮必须保持移动。然而,当图像到达某个位置时,我很难编写一个函数来停止计时器和图像(按钮)的移动。否则,计时器将继续,图像(按钮)将移出屏幕。我试过搞乱button.Location.Y函数,但我还没有让它正常工作。有人能给我建议吗?谢谢哦,是的,一旦图像(按钮)到达192或447的Y位置,它应该停止移动 我所拥有的一个例子:C# 如何在C语言中设置图像动画#,c#,image,animation,C#,Image,Animation,我正在尝试用C#制作图像动画。基本上,我想拍摄一张图像并将其连接到另一个函数,根据1到10的比例,使图像向上或向下移动。默认情况下,图像将从1开始。我已经搜索并找到了使形状在屏幕上上上下移动的方法,但不是实际的图像。图像很小,比如说60x60像素。我觉得这应该很简单,但我还没有弄明白。我想在Windows窗体上放置一个图像,然后基本上让它沿窗体的y轴上下移动,但我希望它能够平滑地移动 好的,我可以把一个按钮连接到一个定时器功能上,让按钮在屏幕上平稳地上下移动。在程序运行期间,按钮必须保持移动。然
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();
//}
}
private void timer2\u勾选(对象发送方,事件参数e)
{
按钮2.Top=按钮2.Top+1;
if(button2.Location.Y==button2.Location.Y-192)
{
timer2.Stop();
timer3.Stop();
}
//如果(定时器限制<100)
//{
//按钮2.Top=按钮2.Top+1;
//定时器限制++;
//}
//否则
//{
//timer2.Stop();
//}
}
有几种方法可以做到这一点。您可以使用PictureBox并更改其Location属性。或者可以在表单的OnPaint()覆盖中绘制图像,并将参数更改为e.Graphics.DrawImage()。然后必须调用Invalidate()以强制运行OnPaint方法。这是最便宜的方式。这是WinForms吗?WPF?新华社?Silverlight?您不会想使用WinForms,因为它根本不能很好地处理移动控件。WPF才是最好的选择。内特,这不是上面提到的。有人建议我使用计时器在窗体上移动对象。