非常基本的cocos 2d问题

时间:2011-06-04 21:14:17

标签: cocos2d-iphone

我是cocos2d的新手,所以我对某些事情感到困惑:

  1. “孩子”一词不断涌现。在 首先我认为它是一个子类, 现在我认为是一种 动态实例变量?能够 有人解释这个好一点吗?

  2. 课程CCSpriteBatchNodeCCSprites的某种数组     它调用一个呈现的方法     它的图形部分     来自精灵的元素/孩子     片。我的解释有点儿     正确的吗?

  3. 我的书(学习cocos 2d初学者指南)展示了一个设计     设置CCSpriteBatchNode的位置     有几个孩子的对象。我     有点困惑,因为我已经习惯了     从中分离绘图类     逻辑类,AKA“分离     担心“。这是cocos2d     不遵守,我们不应该     要么?

1 个答案:

答案 0 :(得分:2)

  1. 亲子只是cocos2d中CCNode与其子类之间的关系。例如,如果你想让月球绕着移动的行星转动,那么很难计算月球的绝对路径。但是你可以把它变成行星的孩子,在这种情况下它的位置,旋转等将相对于行星的坐标。因此,亲子关系只是分组。

  2. CCSpriteBatchNode是其所有子节点的父节点,但其子节点的位置与CCSpriteBatchNode父节点相关。使用此方法是因为BatchNode同时呈现其所有子项。这样做是为了提高性能(没有纹理切换)。

  3. 批量渲染速度更快。如果你的逻辑是好的,CCSpriteBatchNode不会让它变得更糟。例如,您可以拥有一个带有身体,手臂和腿的角色,并且您希望使用BatchNode渲染它。您只需将身体作为孩子添加到BatchNode,然后将手臂和腿作为孩子添加到身体。保持逻辑,提高性能。