Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/100.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 如何将CCSpriteBatchNode与CCAnimation结合起来?_Objective C_Ios_Cocos2d Iphone - Fatal编程技术网

Objective c 如何将CCSpriteBatchNode与CCAnimation结合起来?

Objective c 如何将CCSpriteBatchNode与CCAnimation结合起来?,objective-c,ios,cocos2d-iphone,Objective C,Ios,Cocos2d Iphone,我一直在想这个问题,但我在文档、论坛或这里都找不到任何好的解释,因此: 我可以将CCSpriteBatchNode与CCAnimations结合使用吗?如果是,怎么做?你能给出一个代码示例吗 我知道可以使用来自多个不同缓存纹理(CCTexture2D/CCTextureCache)的帧来定义CCAnimation,但CCSpriteBatchNode必须仅引用一个纹理 我想这相当于几个独立的子问题: 我可以用动画制作我作为孩子交给CCSpriteBatchNode的精灵的动画吗?这还会给我批量速

我一直在想这个问题,但我在文档、论坛或这里都找不到任何好的解释,因此:

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

我知道可以使用来自多个不同缓存纹理(CCTexture2D/CCTextureCache)的帧来定义CCAnimation,但CCSpriteBatchNode必须仅引用一个纹理

我想这相当于几个独立的子问题:

  • 我可以用动画制作我作为孩子交给CCSpriteBatchNode的精灵的动画吗?这还会给我批量速度优势吗?如果动画引用单独纹理上的帧,会发生错误吗

  • 理论上,我可以用不同纹理的帧定义动画,因此它们必须来自不同的CCSpriteBatchNodes,对吗?还是不可能

  • 我可以在一个CCSpriteBatchNode上有几个不同的精灵,每个精灵都调用其帧在该批处理节点上定义的动画,所有这些都来自同一个CCSpriteBatchNode的纹理吗

  • 感谢任何能花一分钟向我解释这一点的人

  • 可以设置作为CCSpriteBatchNode一部分的精灵的动画。您所谓的“批处理速度优势”是指进行的opengl调用的数量。如果您的所有精灵使用相同的CCSpriteBatchNode,则您进行的调用会更少。您的CCAnimation基本上只是以延迟的顺序播放精灵。您不能将精灵添加到不属于同一纹理的CCSpriteBatchNode。这是你可以尝试自己而不是问这个问题

  • 我想您不明白CCSpriteBatchNodes和CCAnimations是如何工作的。它们是两个不同的东西。动画可以引用作为不同纹理一部分的精灵,但如果要设置动画的精灵位于SpriteBatch节点上,则应仅使用该纹理的精灵对其设置动画

  • 3.是的

    你真的应该花些时间阅读cocos2d论坛以及其他教程,因为这些都是基本问题。在那之后,您编写代码就容易多了。
    还有几本关于cocos2d的书,涵盖了基础知识。

    谢谢Feterie,我自己找到了答案。我确实阅读了很多关于这个主题的文档,唉,技术差异的确切细节只有在您查看源代码后才能变得清晰。