【发布时间】:2010-09-02 22:05:48
【问题描述】:
它是 WPF 吗?世界足联?自定义模板? 我目前使用 WFA,但它似乎并不接近最佳状态。不,我不是要求推荐 DirectX 或其他语言。
谢谢。
【问题讨论】:
标签: c# visual-studio-2008 templates 2d
它是 WPF 吗?世界足联?自定义模板? 我目前使用 WFA,但它似乎并不接近最佳状态。不,我不是要求推荐 DirectX 或其他语言。
谢谢。
【问题讨论】:
标签: c# visual-studio-2008 templates 2d
您希望它是真正的 2D,还是您想要一个 3D 对象在 2D 中移动的“2.5D”游戏?
对于大多数基本的 2D,例如不需要非常精细的人工输入控制的回合制游戏或简单动画,WFA 中使用的 System.Drawing 工具可能会很好。您可以使用很多技巧,例如使用小图像作为精灵、渲染矢量图形以及必备的基本形状绘制功能。您可以使用像位图这样的图像对象来模拟页面翻转(创建一个位图,在其上绘制形状,然后调用 Graphics.DrawImage()),或者只是在您用作图形窗格的控件上使用 SetRedraw(false)在绘制下一个窗口时冻结那里的内容。
WPF 的一些工具是一个重大的飞跃。查看 System.Windows.Media.Media3D 命名空间;它具有用于 3D 矢量代数和几何图元的工具,允许您创建具有顶点着色和所有技巧的 2.5D 游戏。可以引用基本结构并使用它们的数学能力,或者您可以构建一个 WPF 应用程序,将它们集成到图形窗格中。你必须自己研究这个;我是 WPF 的轻量级专家。
如果您希望您的游戏真正获得一些 FPS,您将不得不使用 DirectX 等加速平台。 XNA Game Studio 是一个免费的 .NET 兼容 API,它封装了许多 DirectX 功能,允许您创建具有加速图形的 .NET 应用程序,而无需凌乱的本机代码连接。在几乎任何与 .NET 兼容的平台(包括 Windows)上创建和运行应用程序都是免费的;您必须付费并加入“XBox Creator Network”才能发布免费的 Xbox 360 游戏。
【讨论】:
XNA 和 Box2D.XNA 物理引擎(如果您的游戏需要 2D 碰撞检测和物理)。 XNA 负责向您隐藏所有疯狂的 DirectX 内容。它有一个很棒的内容管道,让您可以非常轻松地将内容添加到您的游戏中。我最喜欢的小游戏框架。
【讨论】: