在Cocos2d-x中所有能看到的都是引擎调用底层图形库函数绘制完成的,
Cocos2d-x将屏幕所有要绘制的所有内容逻辑上保存到一个场景Scene中(尺寸一般会和屏幕大小一致)
而在Scene中又包含了多个图层Layer,每个图层都是一个绘图节点Node.
所以可以理解为所有能在屏幕上显示的对象都是Node类的实例,或Node的子类对象
继承关系是这样的
Node------Scene
-------Layer
-------Sprite
.......
Scene,Layer,Sprite,Label,Menu,MenuItem,以至于粒子、地图、动画等都是Node类的子类,
建议大家,打开cocos2d-x3.0源码目录/2d/base-nodes/CCNode.h来查看下
(好多读者反馈我的《Cocos2d-x手游游戏开发与项目实战详解》一书,代码过多,汗,此处省略1000字。。。。。。)
看完以后总结一下大概可以包含如下几个方面:
1。每个Node都有绘图的基本属性,如锚点,坐标,尺寸,透明度等。
2。每个Node都有变换的属性,如缩放、扭曲、旋转等。
3。每个Node都有摄像机属性(因为Cocos2d-x所有Node都是3D图形的2D投影,一些变换和特效实际上是改变了摄影机的位置);
4。每个Node都可以有子节点管理方法,如添加子节点,删除子节点,获取所有子节点,当前节点的tag(每个Node都是一颗树,你懂的....)
5。每个Node都有任务管理,如Schedule计划任务,unSchedule停止任务
6。每个Node都可以执行动作Action,如runAction,stopAction
7。每个Node都有自己节点的生命周期方法,如onEnter onExit