音乐可视化/交互应用的最佳方法

时间:2012-02-04 12:22:15

标签: objective-c ios opengl-es cocos2d-iphone core-graphics

我是一名经验丰富的Flash开发人员,过去5个月一直在学习Objective-c。

我开始开发以前在Flash中制作原型的应用程序,我正在尝试猜测将它移植到iOS的最佳方法。

我的应用程序是一种音乐游戏。它由一些动态图形(圆形生长和旋转)组成,排版也在变化和旋转。一切都与音乐同步。同时用户可以与应用程序交互(移动和旋转的东西),一些声音会根据他的行为而改变。

图形不能是位图,因为它们每帧都会被重绘。

由于其矢量图形的管理,这很容易用Flash开发。但我不确定在objective-c中做到这一点的最佳方法是什么。

我的选择,我想是类似的东西:Core Graphics,OpenGL,也许是Cocos2D(不确定是否会用大锤杀死跳蚤)。甚至像OpenFrameworks或Cinder这样的东西,但我宁愿使用除c ++之外的objective-c。

任何关于在哪里观看的提示都将受到赞赏。

修改: 由于机密性问题,我无法真正放置真正的屏幕截图。但它与此类似 circle graphics

但它会是互动的,部分会改变大小并根据音乐和用户互动而消失。

1 个答案:

答案 0 :(得分:1)

您应该使用哪个图形库?答案很大程度上取决于你所知道或可以学到的东西。 OpenGL将使用硬件加速,因此它可能是最快的。但OpenGL没有用于绘制弧段或任何曲线或文本的内置函数,因此您可能必须自己完成。另外,OpenGL很难学习。

Core Graphics有很多很酷的方法可以绘制矢量图形(矩形,弧线,通用路径等),但可能比你想要的要慢,这取决于你想要做什么。没有代码实际运行它很难说。

看起来Cocos2D是基于OpenGL构建的,并且很简单。我在他们的网站上看到很多关于精灵的提及,但没有关于矢量图形。 (我从来没有使用它,所以它可能就在那里,我只是没有看到它。)

如果我在你的位置,我会调查cocos2d并查看它是否完全是矢量图形。如果没有,我可能会试试Core Graphics,看看性能如何。我知道OpenGL可以做你想做的事,但是学习起来很困难,所以我最后可能会这样做。