QQ学习交流群:453795391 欢迎你的加入,让我们一起进步
一. 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 仿射变换矩 返回从世界坐标到本地节点坐标的矩阵变换仿射矩阵先到这吧!