【发布时间】:2015-02-14 15:52:10
【问题描述】:
您好:我正在尝试创建一个显示移动球体的应用程序。应用程序将改变速度和方向。我已经尝试过 Adobe Flash,但无法顺利完成。在这种情况下,平滑度是必不可少的。所以我正在尝试 C#。
最初,我可以看到这可以通过以下方式实现: 1) 创建一个球体的 PictureBox,并使用 Timer 更改其坐标。或者 2) 使用 this.paint 函数绘制一个实心圆,并以某种方式通过计时器擦除和重绘它。
有人可以推荐最佳路径吗?我将有一个主菜单,用户将在其中选择速度/方向/多少等......然后简单地显示带有移动球体的“游戏窗口”。任何指导将不胜感激。
这只能在 PC 上显示。
谢谢 -埃德
【问题讨论】:
-
您可能应该发布您正在尝试的代码 - 但作为一般方法,使用 GDI+(通过覆盖
OnPaint),将SmoothingMode转为抗锯齿,并确保您是使用float或double坐标,而不是int。这应该足以让您入门,或者如果您使用一些代码进行更新,我可能会建议一些基本更改。 -
您可以像@Octopoid 建议的那样使用 GDI,或者您可以使用 WPF/Direct2D 等 DirectX 技术。后面会更流畅。
-
我还要补充一点 - 当您只有几个基本对象时,使用 Timer 就可以了,尽管您要确保在表单中使用 ONE,不是每个圆圈一个/对象。如果您想让任何事情变得更复杂,尽管您可能想开始研究游戏框架,或者至少考虑一下如何管理单个全局更新/重绘。这对于协调碰撞检查和确保即使帧速率下降也能保持一致的移动速度至关重要。
-
谢谢各位。我明天会发布我的想法:)。