通过编程动画精灵

问题描述:

我正在尝试考虑一种在程序中对游戏中的动画精灵进行“排序”的方法。这样做的目的是为了避免创建大约20-50帧的每个精灵(非常耗时),然后运行一个循环来排序帧,从而产生所需的动画。以下是我想要动画的精灵的一个例子。所需的动画应该为图像提供“波浪”,起源于中心并向外扩展。这会使水色看起来活泼起来,或者仿佛它仍然湿润闪烁。我使用的是Cocos2D,因此每个精灵都有这些方法可用:移动,旋转,缩放。我最初的想法是使用Cocos2D的粒子系统来尝试创造这种效果,但是我担心大概有50个左右精灵运行系统的效率。有没有更好的办法?通过编程动画精灵

'play game button'

要实现的是可能是最好的自定义顶点/片段着色器所做的一切。不幸的是没有太多的例子漂浮,所以你必须看。但为了让你开始,看看here,可能有一个接近你的愿望。请注意,着色器可能会很棘手,并且几乎不会像从代码库类型的软件那样“从开源代码库中删除”。需要一些调整,你的里程会有所不同。

对于openGL,着色器和东西的崩溃'intro',如果你倾向于,this blog对我很有帮助。按照链接。

+0

+1这也是一个很好的答案。请注意,自定义着色器可能需要一段时间才能获得良好的掌握并按照您的需要开始工作。 – dqhendricks 2013-03-01 20:36:39

+0

haha​​ha ... yep yep yep ...坚实的学习曲线,但我开始收获好处。 – YvesLeBorg 2013-03-01 20:39:18

如果您有大量的粒子系统,性能可能会相当不稳定。

大多数人使用预先创建的水动画片。所以每个贴图都会有4帧动画或者其他东西,创建时,你可以设置每个动画通过这4帧重复动画。

您可能还想看看CCRipple3D操作。