我是cocos2d的新手,所以我对某些事情感到困惑:
“孩子”一词不断涌现。在 首先我认为它是一个子类, 现在我认为是一种 动态实例变量?能够 有人解释这个好一点吗?
课程CCSpriteBatchNode
是CCSprites
的某种数组
它调用一个呈现的方法
它的图形部分
来自精灵的元素/孩子
片。我的解释有点儿
正确的吗?
我的书(学习cocos 2d初学者指南)展示了一个设计
设置CCSpriteBatchNode
的位置
有几个孩子的对象。我
有点困惑,因为我已经习惯了
从中分离绘图类
逻辑类,AKA“分离
担心“。这是cocos2d
不遵守,我们不应该
要么?
答案 0 :(得分:2)
亲子只是cocos2d中CCNode与其子类之间的关系。例如,如果你想让月球绕着移动的行星转动,那么很难计算月球的绝对路径。但是你可以把它变成行星的孩子,在这种情况下它的位置,旋转等将相对于行星的坐标。因此,亲子关系只是分组。
CCSpriteBatchNode是其所有子节点的父节点,但其子节点的位置与CCSpriteBatchNode父节点相关。使用此方法是因为BatchNode同时呈现其所有子项。这样做是为了提高性能(没有纹理切换)。
批量渲染速度更快。如果你的逻辑是好的,CCSpriteBatchNode不会让它变得更糟。例如,您可以拥有一个带有身体,手臂和腿的角色,并且您希望使用BatchNode渲染它。您只需将身体作为孩子添加到BatchNode,然后将手臂和腿作为孩子添加到身体。保持逻辑,提高性能。