用户界面 – MonoGame平台不可知输入/输出

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

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

最佳答案 MonoGame旨在让您轻松将游戏移植到其他平台,您不需要使用任何其他框架来实现该目标.但是,它并不像简单地重新编译每个新平台的代码那么简单.

在大多数情况下,您的所有代码都将保持不变,但您需要为每个平台组合一个项目并链接每个平台中的所有代码文件.我不会详细介绍这个,但我只是说你可以做到这一点,并不是那么困难.

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

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

所以简短的回答是,你没有做任何特别的事情,但如果你计划将来移植你的游戏,你至少应该考虑一下.

点赞