XNA на iPhone - PullRequest
       39

XNA на iPhone

14 голосов
/ 16 июля 2009

Не знаю, странный ли это вопрос, но как мне запустить игру, созданную с помощью XNA, на iPhone / iTouch? Какие шаги / инструменты (существующие или мнимые ...) следует использовать?

примечание: цель состоит в том, чтобы избежать изменения существующего кода C #

ОБНОВЛЕНИЕ:
Если я правильно понимаю, я должен уметь:
1) Запустите мой код XNA на Mono ( monoxna или SilverSprite , обещая?)
2) Запустите Mono на iPhone ( MonoTouch )

Ответы [ 13 ]

11 голосов
/ 10 сентября 2009

Мало того, что это возможно, но вот видео с кем-то, кто делает XnaTouch на MonoTouch: Первая игра для сборки на iPhone с XnaTouch (XNA для IPhone)

Вот моно статья о том, как это сделать http://www.mono -project.com / MonoTouch

6 голосов
/ 16 июля 2009

Проект MonoTouch может в конечном итоге помочь, поскольку он позволяет писать C # для iPhone (он статически компилируется в собственный код).

6 голосов
/ 16 июля 2009

Я не верю, что есть хороший ответ на ваш вопрос. XNA не нацелена на iPhone, поэтому шансов на возможность эффективного портирования игры XNA без изменения исходного кода C # вряд ли будет.

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

Если кроссплатформенность не ваша цель, а бесплатная разработка для iPhone, то я бы рекомендовал посмотреть Cocos .

Редактировать: MonoTouch проект может помочь вам в будущем, но не поможет вам прямо сейчас. Тем не менее, за этим нужно следить.

Редактировать: Ситуация сильно изменилась за ~ 5 лет с момента публикации этого вопроса. Если у вас есть проект XNA, который вы хотите запустить на iOS, то Xamarin.iOS (ранее MonoTouch) плюс MonoGame подходят почти идеально. В MonoGame отсутствует огромный кусок конвейера контента XNA, что означает, что вам придется либо отказаться от него, либо иметь экземпляр VS2010, где-то компилируете ваши ресурсы.

5 голосов
/ 20 сентября 2011

MonoGame является бесплатной реализацией OpenGL платформы XNA 4.0. Он построен на превосходном диапазоне компиляторов Mono и совместим с MonoTouch (iOS), Mono для Android (Android), MonoMac (Mac OS X), Mono для Windows и теперь Linux!

Список 12 игр, в настоящее время использующих MonoGame, которые находятся в Apple iOS App Store, можно найти @

http://monogame.codeplex.com/

https://github.com/mono/MonoGame/wiki/Released-Games

2 голосов
/ 17 июля 2009

Я полагаю, что XNA зависит от Direct3D 9 (см. http://msdn.microsoft.com/en-us/xna/aa937793.aspx),, что может указывать на препятствия, с которыми можно столкнуться при переходе на моно, а также при наличии достаточной графической мощности на iPhone.

1 голос
/ 13 января 2011

«Может быть», вы могли бы просто изменить пространство имен XnaTouch, чтобы оно соответствовало пространству имен существующего кода Xna (то есть Microsoft.Xna.Framework. *), При разработке проекта MonoTouch? Это можно сделать с помощью вендора (копии) кода XnaTouch, которым легко управлять с помощью Git, Mercurial или Piston и т. Д.

Я не уверен относительно того, предпримет ли команда XnaTouch такое изменение в своей собственной кодовой базе, так что это, вероятно, лучше всего делать в ваших собственных, личных ветвях кода (интересно, что проект Mono.xna использует оригинальный Microsoft.Xna.Framework. * пространства имен , я не уверен, почему XnaTouch решил не делать этого).

JFYI, текущий XnaTouch (v1.0) следует Xna 4.0 довольно верно. Я нашел [маленький] несколько пропущенных вызовов методов, которые я «реализовал», чтобы генерировать не реализованные исключения (?). Исходный код xna4-and-updated-xna-touch компилируется , теперь мне нужно реализовать специфичные для iphone графические интерфейсы и обработку и т. Д.

Надеюсь, это кому-нибудь поможет.

Приветствия

Rich

1 голос
/ 29 января 2010

Это пространство определенно нагревается. В настоящее время в Codeplex существует проект XNA Touch, целью которого является внедрение XNA API на платформу iPhone / iPad:
http://xnatouch.codeplex.com/

1 голос
/ 21 июля 2009

С у лошади пасть:

MonoTouch + SilverSprite = XNA 2D игры на айфон? :)

Что означает Bill , так это то, что в конечном итоге будет возможно написать игру 2D XNA, затем использовать SilverSprite , чтобы запустить ее в Silverlight, а затем использовать MonoTouch запустить его на iPhone

1 голос
/ 17 июля 2009

Каждый, кто говорит, что это возможно, потому что есть библиотеки CLR для Mono, даже не думает о том, что XNA - это ВЕСЬ РАЗНЫЙ набор фреймворков:

"Библиотека классов XNA Framework - это библиотека классов, интерфейсов и типов значений, включенных в XNA Game Studio."

Как заметил другой респондент, это так далеко, что это даже не смешно. Если вы действительно хотите написать игру, я бы проверил Unity. Он коммерческий, но выглядит впечатляюще, и вы можете script свою игровую логику в Javascript или (вот забавная часть) C # !

Да, вместо того, чтобы проделать огромную работу по переносу целого фреймворка, потому что вы хотите написать игру на C #, почему бы просто не использовать фреймворк, который позволяет вам сделать это сегодня?

0 голосов
/ 24 декабря 2012

Если вы ищете бесплатные кроссплатформенные вещи, вы можете проверить пробел в телефоне. У меня нет никакого опыта с этим, но это выглядит круто. http://phonegap.com/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...