ExEn (XNA -> iOS, Android) и акселерометры и т. Д. - PullRequest
1 голос
/ 06 сентября 2011

Я читал о проекте Эндрю Рассела в ExEn, и мне интересно, как будет выглядеть процесс создания игры на основе акселерометра WP7, а затем перенести ее на другую платформу, скажем, iOS. Вот, что я надеюсь, произойдет:

  1. Создание полнофункциональной игры в XNA, избегая зависимости от устройства. конкретные элементы, такие как кнопка «назад».
  2. Запустите проект через ExEn (я понятия не имею, как это будет случиться), создав полностью функциональную игру для iOS.
  3. Запустите игру на iPhone.

Извините за этот жалкий набросок, но у меня просто нет четкого представления высокого уровня после прочтения об этом.

Кроме того, будучи программным преобразованием, оно точно не будет работать. Как бы вы сгладить морщины? Я полагаю, вам нужно знать iOS или Android достаточно хорошо, чтобы понять это.

В любом случае, если кто-нибудь сможет подвинуть меня на шаг ближе, я буду признателен.

Ответы [ 2 ]

2 голосов
/ 06 сентября 2011

ExEn является реализацией подмножества API XNA, который работает на разных платформах (включая iOS и Android).Проще говоря, он делает классы и методы, которые вы используете при написании кода XNA, доступными для вас на этих других платформах.(Плюс соответствующие инструкции, примеры и т. Д.)

При использовании ExEn большая часть вашего кода должна просто «просто работать».Однако в большинстве реальных случаев вам потребуется написать хотя бы некоторый код для конкретной платформы (и, возможно, предоставить некоторые ресурсы для этой платформы).В частности, для поддержки разных разрешений устройств, а также в случаях, когда вы используете функции XNA, недоступные в ExEn.

На момент написания ExEn не реализует API-интерфейсы XNA / WP7 для поддержки акселерометра .Когда-нибудь в будущем они могут быть добавлены (либо мной, либо любым, кто хочет внести патч).ExEn распространяется в виде исходного кода, так что вы даже можете добавить необходимую поддержку самостоятельно.

Альтернативой может быть написание кода для платформы для частей вашей игры, которые запрашивают акселерометр.Использование ExEn не мешает вам также использовать API базовой платформы.

ExEn (на iOS и Android) работает поверх Xamarin MonoTouch и Mono для Android.Эти два продукта обеспечивают привязки C # для базовых API-интерфейсов платформы.Кроме того, так же, как ExEn реализует API-интерфейсы XNA, Mono реализует API-интерфейсы .NET.Эти продукты также предоставляют вам необходимые инструменты (IDE, компилятор, отладчик и т. Д.).

Поэтому вы должны использовать iOS API UIAccelerometer ( doc ).Это выставлено в C # через MonoTouch.UIKit.UIAccelerometer ( doc ).Я оставлю поиск эквивалентов Android в качестве упражнения.

0 голосов
/ 06 сентября 2011

Вы не можете ожидать:

  • портирование игры на другую платформу и не изменяйте ее.
  • портирование игры со способностями, свойственными специальной платформе, на другую платформу, у которой отсутствуют эти способности, или наоборот
...