Лучший подход для приложения визуализации музыки / взаимодействия - PullRequest
1 голос
/ 04 февраля 2012

Я опытный разработчик флеш-памяти, который изучал target-c в течение последних 5 месяцев.

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

Мое приложение - это музыкальная игра.Он состоит из динамической графики (растущие и вращающиеся круги) с изменяющейся и вращающейся типографикой.Все движется синхронно с музыкой.И в то же время пользователь может взаимодействовать с приложением (перемещать и вращать объекты), и некоторые звуки будут меняться в зависимости от его действий.

Графика не может быть растровым изображением, поскольку она перерисовывается в каждом кадре.

Это было легко разработать с помощью Flash из-за управления векторной графикой.Но я не уверен, что было бы лучшим способом сделать это в target-c.

Мои варианты, я думаю, такие вещи, как: Core Graphics, OpenGL, возможно, Cocos2D (не уверен, что это будетубить блоху кувалдой).Или даже такие вещи, как OpenFrameworks или Cinder, но я предпочитаю использовать target-c, отличный от c ++.

Любой намек на то, на что обратить внимание, будет принят.Я не могу поставить настоящий скриншот из-за проблем с конфиденциальностью.Но это что-то похожее на это circle graphics

Но оно будет интерактивным, и разделы будут менять размер и исчезать в зависимости от музыки и взаимодействия с пользователем.

1 Ответ

1 голос
/ 04 февраля 2012

Какую графическую библиотеку следует использовать?Ответ будет во многом зависеть от того, что вы знаете или могли бы узнать.OpenGL будет использовать аппаратное ускорение, поэтому оно, вероятно, самое быстрое.Но OpenGL не имеет встроенных функций для рисования сегментов дуг или каких-либо кривых или текста, поэтому вам, вероятно, придется сделать это самостоятельно.Кроме того, OpenGL общеизвестно труден в изучении.

Core Graphics имеет много классных методов для рисования векторной графики (прямоугольники, дуги, общие контуры и т. Д.), Но может быть медленнее, чем вы хотите, в зависимости от того, что выпытаюсь сделать.Трудно сказать, не имея кода для запуска.

Похоже, Cocos2D построен на OpenGL и сделан простым.Я вижу много упоминаний о спрайтах на их сайте, но ничего о векторной графике.(Я никогда не использовал его, поэтому он может быть там, и я просто не вижу его.)

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

...