Вопрос по iphone – Настольная игра для iPhone: OpenGL ES или CoreGraphics? [закрыто]

17

Я хочу запрограммировать настольную игру (похожую на шашки) для iPhone. Будет ли OpenGL ES или CoreGraphics лучшим вариантом? Что используют большинство игр этого типа в App Store?

Ваш Ответ

7   ответов
3

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

Однако, если вы не знакомы с ним, CoreGraphics легче подобрать. Я не очень разбираюсь в , поэтому, когда я писал игру, я делал это в CoreGraphics, и это получилось довольно хорошо.

"OpenGL, если все сделано правильно, вероятно, будет выглядеть лучше." Я полностью не согласен с этим комментарием. Вероятно, у вас будут проблемы с алиасами, проблемы с фильтрацией текстур и т. Д., Которых у вас не будет с предварительно обработанными фрагментами. Конечно, если вы имели в виду «это было бы более впечатляюще с трехмерным вращением вокруг доски», то да. jv42
Это не будет выглядеть лучше с OpenGL. Для простых игр CoreAnimation будет работать нормально! bentford
3

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

Это действительно зависит от того, какой ты вид.

2

а настольная игра, вероятно, не подходит для CoreGraphics. Вы получаете роскошь работать на более высоком уровне абстракции, а также получаете некоторые вещи, которые вам придется писать вручную, например, анимацию. (П.С. Я полагаю, вы говорите о 2D.)

CoreGraphics точно. Он может легко обрабатывать 20-30 спрайтов на экране одновременно с минимальными проблемами с производительностью. Это будет быстрее изменить, потому что вы можете использовать такие инструменты, как Photoshop, чтобы восстановить ваши изображения. OpenGLES может быть действительно аккуратным, если вы хотите сделать, возможно, сделать несколько действительно крутых движений камеры или действительно аккуратные анимации. John Ballinger
Вы также можете использовать свой ценный Photoshop с OpenGL. Apple предоставляет код для загрузки UIImages в виде текстур OpenGL. Frank Krueger
2

безусловно, основная графика и основная анимация. У Джеффа ЛеМарша есть образец шаблона для игры в Блэк Джек в его блоге - я только что закончил головоломку suduko с этим подходом. Что касается cocos2D, который я использую для платформенной игры - openGL не улучшит и не улучшит графику - это определенно не улучшит внешний вид графики - вы можете сфотографировать свое сердце на этом, чувствовать себя в безопасности и знать, что он будет отлично смотреться , Изучение Cocos2D для этого слишком много - так же, как и изучение openGL ES - просто используйте основную графику и получайте ее. Что касается знания OpenGL ES на будущее - конечно, - но вы должны понять «ядро» Apple, прежде чем пытаться это сделать.

0

и я подумал, что кривая обучения была еще проще, чем CoreGraphics для 2D спрайтов.

21

в этом случае я бы предложил Core Animation или даже сами UIViews. Если вы выполняете прямое рисование всех своих элементов в одном представлении с помощью Core Graphics, а затем обновляете это представление для каждого кадра анимации, вы получите ужасную производительность.

Я бы предложил нарисовать отдельные элементы игрового поля (фигуры, жетоны, квадраты на доске и т. Д.) В виде отдельных UIViews или CALayers, а затем анимировать эти слои или виды вокруг. UIViews не слишком тяжелее, чем CALayers, и они используют Core Animation за кулисами для создания простых движений, масштабирования или затухания анимации. Они также могут реагировать на сенсорные события. CALayers полезны, если вы хотите создать более кросс-платформенную (Mac и iPhone) игру или если вам нужно сделать более сложные анимации.

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

Для хорошего примера того, как сделать настольную игру с использованием Core Animation, Apple предоставилаGeekGameBoard пример кода. Хотя это приложение для Mac, код Core Animation может транслироваться прямо на iPhone.

6

иональная 2d библиотека игр; у него есть тайлы, спрайты, параллакс, планирование и т. д. Я использую его для своей игры, и это мне очень помогло.

http: //code.google.com/p/cocos2d-iphone

Используйте Cocos2D, вы никогда не попадете в блок из-за тяжелой анимации кадра. Также вы можете добавить необычные эффекты частиц. Это очень легко учиться и начать видеть результаты. Обеспечивает управление сценой. Rajavanya Subramaniyan

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