7

由于我的学校项目,我必须仅使用 Windows 窗体创建游戏..

我决定创建一个 2D 赛车游戏。所以现在我需要移动汽车图像。为了移动它,我尝试使用 KeyDown 事件对汽车进行动画处理,但是动画确实步履蹒跚。那么还有其他方法可以创建动画吗?还是有可能以某种方式解决它?(对于这辆车,我使用了一个停靠在表单上的 PictureBox,并且在它的绘制事件中,我在正确的窗口位置重新绘制了汽车。)

4

3 回答 3

6

这篇文章应该可以解决您的问题: simple-animation-using-c-windows-forms

他详细介绍了他如何以 Windows 形式编写动画,并涵盖了您的一些问题。

如果这不能解决问题,请使用 Freeman 所说的一些 XNA 库查找。

于 2013-01-24T11:10:24.920 回答
2

根据您提供的详细信息,我可以这样说,如果您想创建一个迷你游戏,我建议您将 WPF 与一些 XNA 库一起使用,因为 WinForms 并没有真正削减来实现非常令人印象深刻的图形体验,而是它有利于创建简单的 GUI 工具。有时甚至双缓冲也没有多大帮助。

于 2013-01-24T11:09:13.547 回答
0

你可以制作一个运动动画系统

        int x = pictureBox1.Location.X;
        int y = pictureBox1.Location.Y;
        if (e.KeyCode == Keys.Right) x += 1;
        else if (e.KeyCode == Keys.Left) x -= 1;
        pictureBox1.Location = new Point(x, y);

为了让它更快地改变 x+=1 x-=1 和 y+=1 y-=1; 到更大的数字,比如 y x-=3; 所以在这个鳕鱼中,你是箭头键,但只有左右键,因为你会反复向前行驶,所以你只能左右移动

于 2013-08-28T12:38:21.943 回答