Как разработчик Android, что я должен учитывать при переносе на iPhone?

Как разработчик игр для Android, что мне следует учитывать при разработке моей игры, если я когда-либо захочу переложить платформу на iPhone? Любые стратегии, советы и т. Д. При переносе на обе эти мобильные платформы?

9 голосов | спросил Bryan Denny 20 J000000Tuesday10 2010, 01:18:41

4 ответа


12

Записать его на C /C ++ - это самая большая вещь, которую вы можете сделать. Обе платформы поддерживают C и C ++, хотя и по-разному. На Android вы будете использовать NDK. На iPhone он может быть скомпилирован вместе с кодом Objective-C.

Вам нужно будет потратить некоторое время на создание строительных лесов вокруг вашего кода на C /C ++ для каждой платформы. Вы должны быть достаточно универсальными в этой области, так как это действительно просто подключение функциональности ОС к вашему игровому коду. Не экономьте в этой области, если только вы не планируете делать один кросс-платформенный проект или что вы не возражаете повторно изобретать колесо для каждого проекта, который вы делаете.

Использовать OpenGL ES - обе платформы поддерживают OpenGL ES. Воспользуйтесь этим. Это позволит свести к минимуму количество кода, который требуется переписать. У вас все еще есть некоторые отличия на каждой платформе, но в целом большая часть вашего кода будет работать на обоих.

Избегайте API-интерфейсов, специфичных для платформы /языка - это, должно быть, само собой разумеется, но легко втягиваться в использование классов Java-классов во время работы на Java. Конечно, если вы следовали первому правилу выше, вы не будете многого на Java. То же самое происходит с противоположной стороны - так же хорошо, как классы Foundation в iOS, если вы хотите переносить на другую платформу, избегайте их.

Как вы можете видеть, есть много чего беспокоиться, перейдя на кросс-платформу. Если вы маленький инди-разработчик, он может даже не стоить вашего времени. Вам нужно будет оценить, действительно ли вы хотите, чтобы ваш собственный след провалился, чтобы вы могли настроить таргетинг на несколько платформ. Возможно, стоит воспользоваться преимуществами каждой платформы, чтобы иметь более быстрый цикл разработки.

Удачи!

ответил Dennis Munsie 20 J000000Tuesday10 2010, 19:32:00
5

Это будет в значительной степени болезненный процесс, идущий от Java> Objective-C.

Data Driven
Создайте игру, которая в значительной степени управляется данными. Я думаю, что это говорит само за себя, но это направление ведет к меньшему количеству работы, которую вы должны полностью повторить.

Высокие и плотные
Держите вещи очень маленькими и модульными. Я говорю это, потому что будет намного проще переносить, если вы можете легко взять компонент и реализовать его, протестировать и повторить.

Контрактная работа
Играйте в карты правильно, и вы можете знать кого-то, кто может позаботиться об этом для вас. Если вы лучшие друзья с разработчиком iPhone, вы можете купить его /ее д-ром. перец, чтобы помочь выполнить перенос кода.

Использовать многоплатформенный движок
Если у вас уже есть проект, то это не имеет большого смысла. Но если вы собираетесь сделать проект, который вы абсолютно знаете, он будет перенесен на другие платформы, тогда было бы целесообразно использовать существующие технологии, чтобы помочь объединить ваш мир. Unity3D будет получать поддержку Android с Unity 3.0.

Конверсия /дрожь /Инструмент
И моя наименее любимая рекомендация заключается в том, что вы можете использовать какой-то инструмент преобразования, чтобы, по крайней мере, получить ваши модели, преобразованные из Java> C ... Но ... я не поддерживаю это.

ответил David McGraw 20 J000000Tuesday10 2010, 01:52:39
3

Если вы подумываете о портировании на iPhone, и ваша игра все еще находится в разработке, переключитесь на C ++, если вы еще этого не сделали. Это сделает ваш код значительно более портативным, когда придет время.

ответил Casey Wagner 20 J000000Tuesday10 2010, 11:39:34
1

Собираясь добавлять мои два цента к этой теме, подумайте о том, чтобы написать свою игру на языке кросс-платформенной, как это говорили многие другие ... но рассмотрите C #! Это мощный язык, который управляется и предоставляет множество отличных функций, которые C ++ не может помочь в разработке игр - и отличная библиотека, известная как MonoGame , которая сродни XNA, которая работает на всех платформах. Начиная с версии 3.0, на момент написания этой статьи, можно легко писать полноценные игры и порт на все мобильные платформы.

ответил Vaughan Hilts 25 FebruaryEurope/MoscowbMon, 25 Feb 2013 01:42:36 +0400000000amMon, 25 Feb 2013 01:42:36 +040013 2013, 01:42:36

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132