Cocos2d-x 3.0final 终结者系列教程07-绘图节点Node

时间:2023-02-09 08:02:58

在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的技术了,后面章节讲这些。