【发布时间】:2016-06-18 20:27:47
【问题描述】:
我一直在研究创建游戏的好工具,我遇到了 Monogame、Sharpx 和 XNA。我对每个问题都有一些疑问:
-
当我创建一个新的 windows 项目(宣传它使用 DirectX 12)时,代码模板如下所示:
using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Graphics; using Microsoft.Xna.Framework.Input;
我知道 Monogame 是 XNA 的重新实现,但“重新”部分在哪里?此代码显示 Monogame 使用 Microsoft 的 XNA,甚至没有暗示使用 DirectX 12。
- SharpDX 具有使用 WinRT 的优势(我听说过),但这对我来说究竟意味着什么?我知道 SharpDX 是位于 DirectX 之上的一个层,允许它在 C# 中使用,自然应该使用 WinRT。 Monogame 有什么理由不用 WinRT?
我觉得我对某事感到困惑,想要弄清楚。请记住,我对这些东西完全是个菜鸟,有什么帮助!
【问题讨论】:
-
Monogame 是跨平台的,也适用于 Linux 和 OSX。没有 DirectX 的平台不足为奇,以至于您不会轻易看到它。支持 WinRT 没有什么特别复杂的,它以完全相同的方式公开 DirectX。 COM 的基于接口的编程范式的一大优势。 Monogame 也支持它。隐藏实现细节是此类库的重点。