在Cocos2d-x中全部能看到的都是引擎调用底层图形库函数绘制完毕的。
Cocos2d-x将屏幕全部要绘制的全部内容逻辑上保存到一个场景Scene中(尺寸通常会和屏幕大小一致)
而在Scene中又包括了多个图层Layer,每一个图层都是一个画图节点Node.
所以能够理解为全部能在屏幕上显示的对象都是Node类的实例,或Node的子类对象
继承关系是这种
Node------Scene
-------Layer
-------Sprite
.......
Scene,Layer,Sprite,Label,Menu,MenuItem,以至于粒子、地图、动画等都是Node类的子类,
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
所以。Node学会了,基本掌握了Cocos2d-x开发%50的技术了,后面章节讲这些。