iPhone: Quartz2d против OpenGL ES - PullRequest
       33

iPhone: Quartz2d против OpenGL ES

1 голос
/ 26 ноября 2009

ОК, я все еще новичок в разработке для iPhone. У меня есть бесплатная игра в магазине приложений, Winner Pong, но это всего лишь клон Pong (кто бы мог догадаться), который использует стандартные UIImageViews для спрайтов. Теперь я хочу сделать что-то более сложное и перенести свою игру для Xbox 360, Trippin Alien, на iPhone. Я, очевидно, не могу продолжать использовать UIImageViews, поэтому мне было интересно, что было бы лучше узнать: более простой, но ограничивающий производительность Qurtz2D или плавно работающий, но пугающе сложный OpenGL ES.

Моя игра в основном игра с коптером, с 8-10 спрайтами на экране плюс простая система частиц (видео здесь ). Не слишком сложно, но производительность имеет значение. Мой единственный опыт программирования игр был в Microsoft XNA и C #, которые имеют встроенную инфраструктуру SpriteBatch, которая позволяет невероятно легко рисовать, масштабировать и вращать предварительно визуализированные спрайты на экране. Стоит ли изучать OpenGL ES? Насколько велик разрыв в производительности? Действительно ли кварц так прост?

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

Ответы [ 2 ]

1 голос
/ 26 ноября 2009

Просмотрите примеры каждого кода, чтобы увидеть сложность. Вы можете обнаружить, что OpenGL не так страшен.

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

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

0 голосов
/ 26 ноября 2009

Другая альтернатива - использовать что-то вроде Unity . Недавно я только начал играть с пробной версией этой среды разработки, и если вы в основном разрабатываете игры с использованием графических объектов и спрайтов, это может быть одним из вариантов. Вы можете написать скрипт на C #, Javascript или Boo. Среда разработки позволяет вам графически настроить ваши сцены и уровни. Затем вы можете прикрепить сценарии к графическим объектам для анимации для обработки пользовательских событий и т. Д. Одним из недостатков Unity, о котором я слышал от других, является то, что если вы хотите использовать знакомые элементы управления пользовательского интерфейса из UIKit, их не так просто создать ... Я сам не проверял это.

...