本人准备分析cocos2dx的引擎·实现一个2d引擎名字叫gl02
git地址:https://github.com/1179432578/gl02.git
下面是引擎一些基本类,后面会根据需要进行修改。
CCNode:引擎节点基类,它的代码如下,它的核心方法visit是渲染节点的入口,它会先处理zorder小的子节点,然后调用自身的draw方法渲染自己,在处理zorder大的节点,这样子zorder大的就会后渲染,并且可以覆盖zorder小的节点。它的主要代码有计算节点的变化矩阵,后面会有章节专门分析变换矩阵。
class CCNode{
public:
CCNode();
virtual ~CCNode();
// 遍历子节点并且call draw()
virtual void visit();
// 计算变化矩阵
void transform();
// 渲染节点
virtual void draw();
};
visit()代码如下,没有实现的功能后面补充
void CCNode::visit(){