4

我已经做了一些 XNA 工作,现在我正在尝试在 MonoGame 中工作。以前,对于我所有的输入和输出需求,我使用Microsoft.Xna.Framework. 我现在正试图让我的游戏的一个版本部署在尽可能多的平台上(目前不包括触摸界面),但我不知道我应该如何处理鼠标等问题。

MonoGame 是否与Microsoft.Xna.Framework平台无关,还是我必须使用其他框架并根据平台在它们之间切换?

4

1 回答 1

2

MonoGame 旨在使您的游戏轻松移植到其他平台,您不需要使用任何其他框架来实现该目标。然而,它并不像简单地为每个新平台重新编译代码那么简单。

在大多数情况下,您的所有代码都将保持不变,但您需要为每个平台组合一个项目并链接每个平台中的所有代码文件。这个我就不详细说了,我只想说你可以做到,而且没那么难。

现在,您会发现您可能必须编写一些特定于平台的代码来处理特定于设备的内容,例如屏幕缩放和输入处理。你究竟需要做什么取决于你的游戏,所以我也无法详细解释。

为了让您的生活更轻松,思考您的游戏将如何在其他平台上运行并相应地编写代码会很有帮助。例如,移动设备上的触摸与单击鼠标非常相似,因此您可以将此功能包装在自己的方法中,以最大限度地减少移植时所需的代码更改。另一方面,您可以用鼠标完成的某些操作根本不适用于触摸界面,例如右键单击和悬停。同样,触摸界面也有常用的手势,这些手势并没有真正映射到 PC 上的鼠标,例如长按、滑动和捏合。

所以简短的回答是,你不必做任何特别的事情,但如果你打算在未来移植你的游戏,你至少应该考虑一下。

于 2013-09-16T00:43:18.160 回答