iOS培训必备课——Cocos2d-x节点与渲染树
更新:HHH   时间:2023-1-7


蓝鸥iOS培训:这一节我将继续为大家带画的是有关Cocos2d-x的内容,那么结合Cocos2d-x的特点来介绍一些Cocos2d-x的基础知识,学起来就相当容易了,相信大家一定有点迫不及待了吧!

那么接下来我们就以《捕鱼达人》作为一个举例说明,这样一来大家就能够很清楚的明白了。

从下面的图中可以看出,游戏元素是按树形结构组织起来的,然而如果从绘图的角度来看,那么是按照从上到下的顺序画出来的。那么如果要完成一个完美的场景,就需要画出场景中的层,为了绘制层,就需要绘制层中的内容。所以,关系图实质上安排了图元的绘图方式,关系图中的每一个元素称作节点(node),关系图则称作渲染树(renderingtree)。渲染场景的过程就是遍历渲染树的过程。

一旦建立起渲染树,组织复杂的场景就变得十分简单。我们赋予每个节点一系列属性,包括节点相对于父节点的位置、旋转角度、缩放比例和变形参数等。渲染树的优势在于,我们只需要考虑节点相对于父节点的属性,就可以逐层创建复杂的对象或动作。

Cocos2d也采用了渲染树架构。任何可见的游戏元素都派生自Cocos2d-x节点(CCNode),常见的游戏元素有场景(CCScene)、层(CCLayer)和精灵(CCSprite)等。前面提到过,通常游戏按照场景、层、精灵的层次顺序组织,每种节点都有各自的特点。然而在实际开发中,为了实现一些特殊的效果,也不必拘泥于这个层次顺序。层或精灵都是普通的节点,因此,即使向精灵中添加精灵,向场景中添加精灵,甚至向精灵中添加层,这些操作也都没有被禁止。在读者认为必要时,可以自己尝试各种组织层次。

那么之所以会这么介绍,是因为Cocos2d也运用了渲染树架构,任何可见的游戏元素都派生自Cocos2d-x节点(CCNode),大家经常看到的游戏元素包括:场景(CCScene)、层(CCLayer)和精灵(CCSprite)等。一般情况下游戏按照场景、层、精灵的层次顺序组织,每种节点都有它们自己的特点。然而在实际开发中,为了实现一些特殊的效果,也不必拘泥于这个层次顺序。层或精灵都是普通的节点,所以,就算是向精灵中再加入精灵,向场景中添加精灵,甚至向精灵中再加入层,这些操作都是可以的。

那么以上这些操作,如果你有兴趣的话,都可以作为尝试,试一下,再看看其结果。如果有兴趣的话,可继续关注我,后期会在不同时间整理出不同的有关iOS培训、iOS开发方面的内容。

返回游戏开发教程...