Программирование игр для iPhone - PullRequest
4 голосов
/ 19 июня 2010

Лучше ли программировать игру для iPhone на Objective C или C ++.
На каком языке будет написана такая игра, как Flight Control?
В каком формате должна быть графика, чтобы она отображалась правильно и быстро загружаласьна айфоне?

Ответы [ 6 ]

5 голосов
/ 19 июня 2010

Игры, такие как Flight Control, обычно пишутся на Objective-C с некоторыми C-вызовами OpenGL и другими C-API. Графика может быть сохранена в формате PNG или JPEG. Я бы остался вне C ++, если бы мне не пришлось использовать некоторый код C ++ или иметь разработчиков с хорошими знаниями C ++. Судя по моему опыту, узкое место редко встречается в языке, так что вам нечего получить, переключившись на C ++.

3 голосов
/ 19 июня 2010

Вы не можете избежать использования Objective-C или Objective-C ++ из-за множества API, с которыми вам придется взаимодействовать. Используете ли вы также C ++ для ядра вашей игры, во многом зависит от опыта и сторонних инструментов, которые вы планируете использовать.

Я написал свою игру в основном на C ++, хотя я использую единственный крупный сторонний компонент & mdash; Физика бурундука & ndash; написано на C. Это было главным образом потому, что я программировал на C ++ в течение многих лет, и мне гораздо удобнее с ним, чем с Objective-C. У других, конечно, будут разные точки зрения, в зависимости от их опыта.

Говоря более субъективно, я считаю, что C ++ является гораздо лучшим языком для написания пространственной игровой логики. Его способность представлять векторы, матрицы и т. Д. Как классы и перегружать их математическими операторами делает вещи намного чище. Также я считаю, что модель сохранения / выпуска Objective-C является королевской PITA по сравнению с C ++ RAII .

.

WRT, изображения. Я обнаружил, что PNG вполне адекватен, хотя моя игра не слишком сложна для текстур. Эта страница дает представление о том, как эффективно хранить текстуры на iPhone. Текстурные атласы особенно важны.

2 голосов
/ 19 июня 2010

Вам нужно будет сделать ваши представления верхнего уровня и интерфейс операционной системы в Objective C или Objective C ++. Без него невозможно вызвать API Apple верхнего уровня.

Как только вы дойдете до логики игры, вы можете выполнять большую часть своей работы на C, если вы хотите использовать Core Graphics или OpenGL.

1 голос
/ 19 июня 2010

Вы также можете посмотреть на бурундука (C) или Box2D (C ++):

Должен ли я пойти бурундук или Box2D?

http://www.cocos2d -iphone.org / форум / тема / 6841

0 голосов
/ 19 июня 2010

Я ценю быструю реакцию и опыт каждого.

Я нахожусь в процессе изучения C ++ или Objective C, и, похоже, Objective C более прямолинейна для iPhone.

Мой фон "задыхается" COBOL85 (среди других тайных языков).Я бы предпочел, чтобы кто-то уже свободно говорил о приложениях для iPhone, кодирующих игру, но я бы предположил, что затраты на разработку сделают это немного запредельным.У меня есть подготовленный запрос на ставку с «псевдокодом», если кто-то хочет увидеть его и дать цитату.Между тем, похоже, что C ++ не имеет никакого преимущества. Кен clean37@hotmail.com

0 голосов
/ 19 июня 2010

Теперь вы можете ускорить разработку, используя язык, который не требует от вас, как разработчика, ручного управления вашей памятью и беспокойства о утечках. Этот язык - C #.Появление MonoTouch - это магия, которая делает это возможным, но даже до того, как MonoTouch я слышал, Unity Framework использовался для нескольких игр iPhone с успехом.

Хорошобыть менее «коммерческим» (жесткая толпа ...)

Использование C # позволит вам относительно легко перенести вашу игру на другие мобильные платформы (например, Droid) без переписывания кода.Цель C вряд ли является языком, широко принятым за пределами сообщества Apple.AppStore все еще растет благодаря iPhone4 и iPad, но Android не к чему чихать, и есть другие мобильные устройства, которые стоит рассмотреть, кроме больших двух ...

См. Этот связанный ответ Что касается поддержки Android.

Итог: большая аудитория = больше дохода для вас при написании того же кода.Приношу свои извинения, если вы искали выбор Objective C или C ++, не раскрывая другой вариант ...

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