user-interface - MonoGame 平台不可知的输入/输出

标签 user-interface xna monogame multiplatform

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

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

最佳答案

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

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

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

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

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

关于user-interface - MonoGame 平台不可知的输入/输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18791778/

相关文章:

windows - Monogame OpenGL 游戏在某些 Windows 7 计算机上崩溃

user-interface - 如何在 FXML 中的 Tab 控件中添加图标?

XNA 随机图 block /地形生成教程?

c# - 如何确定字符串中是否包含此 SpriteFont 无法解析的字符?

C#/XNA - 乘法比除法快?

c# - 如何在类似 Space Invaders 的游戏中执行子弹/敌人矩形碰撞检测?

audio - SoundEffectInstance的播放限制(跨平台)

java - Android - Future.get() 使 UI 卡住

objective-c - 调用 dismissPopoverAnimated 或在弹出窗口外单击一次时,弹出窗口不会被关闭

java - Apache ANT 独立 GUI,可轻松执行目标