2012-02-27 66 views
0

我一直在试图总结我解决这个头,我还没有发现在文档或论坛,或者有什么好解释的,所以这里有云:如何CCSpriteBatchNode与CCAnimation结合?

我可以结合CCSpriteBatchNode与CCAnimations?如果是这样,怎么样?你能给出一个代码示例吗?

我知道CCAnimation可以用来自几个不同的缓存纹理(CCTexture2D/CCTextureCache)的帧来定义,但CCSpriteBatchNode只能指向一个纹理。

我猜,这相当于数个独立的子问题:

  1. 我可以动画雪碧我递了为孩子与CCAnimation一个CCSpriteBatchNode?这仍然会给我批量速度优势吗?而如果CCAnimation是指在不同的纹理帧将出现错误?

  2. 从理论上讲,我可以定义与不同的纹理帧的动画,因此他们将不得不从不同CCSpriteBatchNodes,是否正确?或者那是不可能的?

  3. 我可以在一个CCSpriteBatchNode上有几个不同的精灵,每个都调用在该批处理节点上定义帧的CCAnimations,全部来自同一个CCSpriteBatchNode的Texture?

感谢任何人可以花一分钟向我解释这一点!

回答

0
  1. 您可以为属于CCSpriteBatchNode一部分的精灵创建动画。你提到的“批量速度优势”,那是什么制成的OpenGL呼叫的数量。如果所有的精灵使用相同的CCSpriteBatchNode,然后你打较少的电话。您的CCAnimation基本上只是以延迟的顺序播放精灵。您不能将精灵添加到不属于相同纹理的CCSpriteBatchNode。这是你可以尝试自己而不是问这个问题的事情。

  2. 我想你不明白CCSpriteBatchNodes & CCAnimations如何工作。他们是两件不同的事情。您的动画可以引用属于不同纹理的精灵,但是如果您正在动画的精灵位于spritebatchnode上,那么只能使用具有该纹理的精灵来制作动画。

3.是的。

你真的应该花一些时间阅读cocos2d论坛以及其他教程,因为这些都是基本问题。之后,你会更容易编码。 也有关于cocos2d的几本书涵盖的基本面。

+0

谢谢Pterie,为自己找到了。我曾阅读过许多关于这个主题的文档,唉,一旦你看到源代码,技术差异的确切细节就会变得清晰。 – Averett 2012-04-12 21:10:14