微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Cocos2d-x CCNode(节点类)概述

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 仿射变换矩 返回从世界坐标到本地节点坐标的矩阵变换仿射矩阵
先到这吧!

原文地址:https://www.jb51.cc/cocos2dx/342941.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐