1

我一直在阅读有关 Andrew Russell 的 ExEn 项目的信息,我想知道创建基于 WP7 加速度计的游戏然后将其移植到另一个平台(比如 iOS)的流程是怎样的。这是我希望发生的事情:

  1. 在 XNA 中创建功能齐全的游戏,避免依赖于设备特定的项目,如“返回”按钮。
  2. 通过 ExEn 运行项目(我不知道这会如何发生),创建功能齐全的 iOS 游戏。
  3. 在 iPhone 上运行游戏。

很抱歉这个可怜的大纲,但我只是在阅读后没有一个坚实的高级观点。

此外,作为软件转换,它肯定不会完全起作用。你会如何熨平皱纹?我假设您必须相当了解 iOS 或 Android 才能确定它。

无论如何,如果有人能让我更近一步,我将不胜感激。

4

2 回答 2

2

ExEn是在不同平台(包括 iOS 和 Android)上运行的 XNA API子集的实现。简而言之,它使您在编写 XNA 代码时使用的类和方法可以在这些其他平台上使用。(加上适当的说明、示例等)

使用 ExEn 时,您的大部分代码应该只是“正常工作”。然而,在大多数实际情况下,您至少需要编写一些特定于平台的代码(并且可能提供一些特定于平台的资产)。特别是支持不同的设备分辨率,以及在您使用 ExEn 中不可用的 XNA 功能的情况下。

在撰写本文时,ExEn 没有为加速计支持实现 XNA/WP7 API。在未来的某个时候,它们可能会被添加(由我或任何想要贡献补丁的人)。ExEn 作为源代码分发,因此您甚至可以自己添加必要的支持。

另一种方法是为查询加速度计的游戏部分编写特定于平台的代码。使用 ExEn 并不妨碍您同时使用底层平台的 API。

ExEn(在 iOS 和 Android 上)运行在Xamarin 的MonoTouch 和 Mono for Android 产品之上。这两个产品为底层平台 API 提供 C# 绑定。此外,与 ExEn 实现 XNA API 很相似,Mono 实现了 .NET API。这些产品还为您提供所需的工具(IDE、编译器、调试器等)。

因此,您将使用的 iOS API 是UIAccelerometer( doc )。这通过MonoTouch.UIKit.UIAccelerometer( doc ) 在 C# 中公开。我将把查找 Android 等效项作为练习。

于 2011-09-06T16:07:06.277 回答
0

你不能指望:

  • 将游戏移植到其他平台,不要修改它。
  • 将具有特殊平台固有能力的游戏移植到缺乏该能力的其他平台,反之亦然
于 2011-09-06T14:35:05.047 回答