您的位置:首页 > 移动开发 > Cocos引擎

Cocos2d-x CCNode(节点类)概述

2015-05-21 23:36 225 查看
QQ学习交流群:453795391 欢迎你的加入,让我们一起进步

节点类(CCNode) 是Cocos2D-x 中的主要类, 继承自CCObject,作者也认为CCNode是Cocos2d里面的核心类! 任何需要画在屏幕上的对象都是节点类。最常用的节点类包括场景类(CCScene)、布景层类(CCLayer)、人物精灵类(CCSprite)、菜单类(CCMenu)。

一. CCNode的特性

CCNode 类包括的主要功能如下:

1.每个节点都可以 含有子节点.

2.节点含有周期性回调的方法(Schedule、Unschedule 等).

3.可以含有动作(CCAction).

在CCNode中父节点的设置都可以传递到子节点上.

比如: 以钟表主轴为子节点,当我们移动时钟时,附带在主轴(子节点)上的分钟,秒针也会一起移动!

由于CCNode 类不自带贴图,其实在屏幕上看不到任何节点类的效果,所以一般使用CCNode 类的场合有两个:

第一个情况就是,需要一个父节点来管理一批子节点,这时候可以设置一个“无形”的子节点来管理子节点;

另一种情况就是有时需要自己定义一个在屏幕上显示的对象,这时候让新定义的这个类继承自CCNode。

一个类继承自CCNode 类,说明它有如下特点:

1.重写初始化的方法和周期性回调方法。

2.在时间线上控制回调。

3.重写渲染的绘制方法。

二. CCNode的成员数据

m_nZOrder         整型    该节点兄弟节点的z 轴顺序。在二维游戏中,z 轴顺序决定遮挡关系
m_fVertexZ         浮点型 在OpenGL 的真正的z 轴值
m_fRotation     浮点型 角度制的节点旋转的角度值
m_fScaleX         浮点值 x 轴的缩放系数
m_fScaleY         浮点值 y 轴的缩放系数
m_tPosition     点坐标(CCPoint)  位置坐标
m_fSkewX         浮点值 x 轴的扭曲效果的系数
m_fSkewY         浮点值 y 轴的扭曲效果的系数
m_pChildren     数组 子节点数组
m_pCamera         摄像机 跟随节点的摄像机对象
m_pGrid         网格特效 允许节点拥有网格特效
m_bIsVisible     布尔值 节点是否显示
m_tAnchorPoint     点坐标节点平移或移位时的锚点,(0,0)为左下,(1,1)为右上,(0.5,0.5)为中心
m_tAnchorPointInPoints 点坐标节点平移或移位时的锚点的绝对坐标,可读,如果需要修改,请修改上一个属性
m_tContentSize     尺寸(CCSize)获得节点的大小(未缩放、旋转等),所有节点都有大小,场景类和布景层类的尺寸是屏幕大小
m_tPosition     点坐标 节点坐标
m_pParent         节点 父节点
m_nTag             整型 节点标记
m_pUserData     空 用户数据指针
m_pUserObject     对象(CCObject)  类似上一个属性,存储了ID 号
m_pShaderProgram OpenGL 程序 渲染参数
m_nOrderOfArrival 整型 内部z 轴排序,不改变
m_glServerState OpenGL 服务状态 OpenGL 附带的服务状态
m_pActionManager 动作管理 用于管理所有动作
m_pScheduler 调度类 调度所有的周期性更新


三. CCNode的方法

getZOrder         整型         获得兄弟节点间z 轴顺序
getVertexZ         浮点型     获得z 轴坐标
setVertexZ         空         设置z 坐标
getRotation     浮点型     获得旋转角度(角度制)
setRotation     空         设置旋转角度(角度制)
getScale         浮点型     获得缩放系数
setScale         空         设置缩放系数
getScaleX         浮点型     获得x 轴缩放系数
setScaleX         空         设置x 轴缩放系数
getScaleY         浮点型     获得y 轴缩放系数
setScaleY         空         设置y 轴缩放系数
getPosition     点坐标     获得坐标位置
setPosition     空         设置坐标位置
getPositionX     浮点值     获得x 坐标值
setPositionX     空         设置x 坐标值
getPositionY     浮点值     获得y 坐标值
setPositionY     空         设置y 坐标值
getSkewX         浮点值     获得x 轴扭曲效果系数
setSkewX        空 设        置x 轴扭曲效果系数
getSkewY         浮点值     获得y 轴扭曲效果系数
setSkewY         空         设置y 轴扭曲效果系数
getChildren     数组         获得子节点数组
getChildrenCount 整型         获得子节点数量
getCamera         摄像机     获得节点摄像机
getGrid         网格         获得网格对象
setGrid         空         设置网格对象
isVisible         布尔型     获得是否可见
setVisible         空         设置是否可见
getAnchorPoint     点坐标     获得锚点相对坐标
setAnchorPoint     空         设置锚点相对坐标
getAnchorPointInPoints 点坐标 获得锚点绝对坐标
getContentSize     尺寸         获得节点的尺寸
setContentSize     空         设置节点的尺寸
isRunning         布尔型     获得节点是否在运行
getParent         节点         获得父节点
setParent         空         设置父节点
isIgnoreAnchorPointForPosition 布尔型 是否忽略锚点位置
ignoreAnchorPointForPosition 空 设置是否忽略锚点位置
getTag             整型         获得标签值
setTag             空         设置标签值
getUserData     空            获得用户数据
setUserData     空         设置用户数据
getUserObject     对象         获得用户数据对象
setUserObject     空            设置用户数据对象
getActionManager 动作管理     获得动作管理对象
setActionManager 空         设置动作管理对象
getScheduler     调度         获得调度对象
setScheduler     空         设置调度对象
getShaderProgram 渲染参数     获得渲染参数对象
setShaderProgram 空         设置渲染参数对象
onEnter         空         进入节点(场景类)的对象
onEnterTransitionDidFinish 空 场景等切换动画播放完毕进入
onExit             空         离开节点(场景类)的对象
onExitTransitionDidStart 空 场景等切换动画播放完毕离开
addChild         空         添加子节点,参数可以加入z 轴排序参数,标签值
removeFromParentAndCleanup 空 从父节点删除本节点,参数决定是否清除本节点
removeChild     空         删除自动节点,参数为节点对象和是否清除本节点
removeChildByTag 空         根据标签值删除节点,参数为标签和是否清除本节点
removeAllChildrenWithCleanup 空 删除所有子节点,参数决定是否清除本节点
getChildByTag     节点         根据标签值获得子节点
reorderChild     空         根据z 轴值重新排列子节点,参数为节点和z 轴值
sortAllChildren 空         在渲染前排列所有节点, 可以被reorderChild 和addChild代替。除非在某一帧里有节点的添加和删除,否则不会自动调用
cleanup         空         停止所有的动作和调度
draw             空         渲染函数
visit             空         递归方法遍历到本节点和子节点并绘制它们
runAction         动作         运行动作
stopAllActions     空         结束所有动作
getActionByTag     动作         根据动作标签获得动作
stopAction         空         结束动作,传入的参数是动作指针
stopActionByTag 空         根据标签值结束动作
numberOfRunningActions     整型 获得运行动作数量
transform         空 运行矩阵变化
convertToNodeSpace         点坐标 转换为节点空间坐标,相对于节点的左下角,与锚点无关
convertToWorldSpace     点坐标 转换为世界空间(全局绝对)坐标,与锚点无关
convertToNodeSpaceAR     点坐标 转换为节点空间坐标,传入值和输出值都相对于锚点
convertToWorldSpaceAR     点坐标 转换为世界空间坐标,传入值和输出值都相对于锚点
convertTouchToNodeSpace 点坐标 从触屏对象转换为节点空间坐标
convertTouchToNodeSpaceAR 点坐标从触屏对象转换为节点空间坐标,传入值和输出值都相对于锚点
nodeToParentTransform 仿射变换矩返回从本地节点坐标到父节点空间坐标的矩阵变换仿射矩阵
parentToNodeTransform 仿射变换矩返回从父节点空间坐标到本地节点坐标的矩阵变换仿射矩阵
nodeToWorldTransform 仿射变换矩 返回从本地节点坐标到世界坐标的矩阵变换仿射矩阵
worldToNodeTransform 仿射变换矩 返回从世界坐标到本地节点坐标的矩阵变换仿射矩阵


先到这吧!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: