cocos2d-x CCNode类
文章引用自http://blog.csdn.net/qiurisuixiang/article/details/8763260
1 CCNode是cocos2d-x中一个非常重要的类。CCNode是场景、层、菜单、精灵等的父类。而我们在使用cocos2d-x时。接触最多的就是场景、层、菜单、精灵等。所以有必要先弄懂CCNode类
2 CCObject类是cocos2d-x中全部对象的基类,CCObject封装了对象的引用计数和自己主动释放功能,以下是类图

3 由于场景、层、精灵、菜菜单是CCNode的子类,所以在使用它们时,有些方法来自CCNode。以下解释了CCNode中经常使用的方法
- //初始化CCNode
- bool init();
- //生成CCNode对象
- CCNode * create(void);
- //获取描写叙述字符串 便于调试
- const char* description(void);
- //设置节点Z轴顺序 当有多个节点在Z轴显示时 引擎会依据它们Z轴的大小决定绘制顺序 Z轴大的会覆盖Z轴小的
- void setZOrder(int zOrder);
- void _setZOrder(int z);
- //获取节点Z轴顺序
- int getZOrder();
- //设置OpenGL Z轴顶点
- void setVertexZ(float vertexZ);
- //获取OpenGL Z轴顶点
- float getVertexZ();
- //设置节点X轴比例因子
- void setScaleX(float fScaleX);
- //获取节点X轴比例因子
- float getScaleX();
- //设置节点Y轴比例因子
- void setScaleY(float fScaleY);
- //获取节点Y轴比例因子
- float getScaleY();
- //设置节点比例因子 同一时候设置X轴、Y轴
- void setScale(float scale);
- //获取节点比例因子 必须X轴、Y轴比例因子相等
- float getScale();
- //设置节点(x, y)在OpenGL中的坐标
- void setPosition(const CCPoint &position);
- //获取节点(x, y)在OpenGL中的坐标
- const CCPoint& getPosition();
- //设置节点(x, y)在OpenGL中的坐标
- void setPosition(float x, float y);
- //获取节点(x, y)在OpenGL中的坐标
- void getPosition(float* x, float* y);
- //设置节点在OpenGL中的X坐标
- void setPositionX(float x);
- //获取节点在OpenGL中的X坐标
- float getPositionX(void);
- //设置节点在OpenGL中的Y坐标
- void setPositionY(float y);
- //获取节点在OpenGL中的Y坐标
- float getPositionY(void);
- //设置X轴的倾斜角度
- void setSkewX(float fSkewX);
- //获取X轴的倾斜角度
- float getSkewX();
- //设置Y轴的倾斜角度
- void setSkewY(float fSkewY);
- //获取Y轴的倾斜角度
- float getSkewY();
- //设置节点锚点的位置
- void setAnchorPoint(const CCPoint& anchorPoint);
- //获取节点锚点的位置
- const CCPoint& getAnchorPoint();
- //设置节点的尺寸
- void setContentSize(const CCSize& contentSize);
- //获取节点的尺寸
- const CCSize& getContentSize();
- //设置节点是否可见
- void setVisible(bool visible);
- //获取节点是否可见
- bool isVisible();
- //设置节点自转角度
- void setRotation(float fRotation);
- //获取节点自转角度
- float getRotation();
- //zOrder 当有多个节点在Z轴显示时 引擎会依据它们Z轴的大小决定绘制顺序 Z轴大的会覆盖Z轴小的
- //加入子节点 zOrder默觉得0
- void addChild(CCNode * child);
- //加入子节点
- void addChild(CCNode * child, int zOrder);
- //加入子节点 指定节点zOrder和节点tag
- void addChild(CCNode* child, int zOrder, int tag);
- //通过tag名称获取节点
- CCNode * getChildByTag(int tag);
- //获取全部子节点
- CCArray* getChildren();
- //获取子节点数目
- unsigned int getChildrenCount(void);
- //设置子节点的父节点
- void setParent(CCNode* parent);
- //获取子节点的父节点
- CCNode* getParent();
- //从父节点中删除当前子节点
- void removeFromParent();
- //从父节点中删除当前子节点 假设Cleanup为true则删除当前节点的全部动作及回调函数
- void removeFromParentAndCleanup(bool cleanup);
- //从父节点中删除当前子节点 假设Cleanup为true则删除当前节点的全部动作
- void removeChild(CCNode* child);
- //从父节点中删除当前子节点 并指定Cleanup
- void removeChild(CCNode* child, bool cleanup);
- //通过tag名称移除节点
- void removeChildByTag(int tag);
- //通过tag名称移除节点并指定Cleanup
- void removeChildByTag(int tag, bool cleanup);
- //移除全部子节点
- void removeAllChildren();
- //移除全部子节点 并指定Cleanup
- void removeAllChildrenWithCleanup(bool cleanup);
- //又一次设定节点的zOrder
- void reorderChild(CCNode * child, int zOrder);
- //又一次排序全部子节点
- void sortAllChildren();
- //获取节点的tag名称
- int getTag();
- //设置节点的tag名称
- void setTag(int nTag);
- //获取节点的CCCamera摄像机 cocos2d-x是通过3D方式绘制2D效果
- CCCamera* getCamera();
- //推断当前节点是否在执行
- bool isRunning();
- //节点開始进入舞台时的回调事件
- void onEnter();
- //节点进入舞台时的回调事件
- void onEnterTransitionDidFinish();
- //节点离开舞台时的回调事件
- void onExit();
- //停止全部执行的动作和回调函数
- void cleanup(void);
- //绘制节点
- void draw(void);
- //递归visit子节点并重绘
- void visit(void);
- //返回节点对象的矩形框(由坐标宽高组成)
- CCRect boundingBox(void);
- //设置CCActionManager对象被全部动作使用
- void setActionManager(CCActionManager* actionManager);
- //获取被全部动作使用的CCActionManger
- CCActionManager* getActionManager();
- //执行动作
- CCAction* runAction(CCAction* action);
- //停止动作
- stopAction(CCAction* action);
- //停止全部动作
- void stopAllActions(void);
- //通过tag名称获取动作
- CCAction* getActionByTag(int tag);
- //获取正在执行的动作数量
- unsigned int numberOfRunningActions(void);
- //定义一个定时器
- void schedule(SEL_SCHEDULE selector, float interval, unsigned int repeat, float delay);
- //定义一个定时器
- void schedule(SEL_SCHEDULE selector, float interval);
- //取消一个定时器
- void unschedule(SEL_SCHEDULE selector);
- //取消全部定时器
- void unscheduleAllSelectors(void);
- //暂停全部定时器和动作
- void pauseSchedulerAndActions(void);
- //恢复全部定时器和动作
- void resumeSchedulerAndActions(void);
cocos2d-x CCNode类的更多相关文章
- cocos2d CCNode类(节点属性大全)
1 CCNode是cocos2d-x中一个很重要的类,CCNode是场景.层.菜单.精灵等的父类.而我们在使用cocos2d-x时,接触最多的就是场景.层.菜单.精灵等.所以有必要先弄懂CCNode类 ...
- [cocos2d-x] --- CCNode类详解
Email : awodefeng@163.com 1 CCNode是cocos2d-x中一个很重要的类,CCNode是场景.层.菜单.精灵等的父类.而我们在使用cocos2d-x时,接触最多的就是场 ...
- cocos2d中个类之间的关系
1.Director类: (1)单例类Director::getInstance() ,获取导演类对象 (2)设置游戏配置(OpenGL),推动游戏发展 runWithSence.replaceSe ...
- cocos2d menu菜单类
// 在init这个函数当中做一些初始化的事情 bool HelloWorld::init() { ////////////////////////////// // 先构造父级对象 if ( !CC ...
- [原创]cocos2d-x研习录-第二阶 概念类之节点类(CCNode)
节点类CCNode在基本概念中并不存在,它是为了建立基本概念之间的关联关系而抽象出来的中间辅助类.这个类在Cocos2D-x中极为重要,它为概念类之间搭建了一座宏伟的桥梁.它的继承关系图如下: ...
- Cocos2D研究院之CCNode详解(三)
http://www.xuanyusong.com/archives/950 上一章我们了解了cocos2d的项目路径以及工作原理,这次作者要真刀真枪地讲解代码了,咱们先来看看cocos2d最常用.也 ...
- Cocos2D-x权威指南:核心类成员CCNode
节点类(CCNode)是Cocos2D-x中的主要类,继承自CCObject.继承关系如图3-2所看到的. 不论什么须要画在屏幕上的对象都是节点类. 最经常使用的节点类包含场景类(CCScene).布 ...
- ios游戏开发--cocos2d学习(2)
在第一节中简单介绍了2d项目模板HelloWorld的基础代码,并做了一点小小的改变,像触摸接收.旋转.移动和颜色转变序列CCSequence的使用等等,2d本身封装好了很多方便使用的动作,只需要调用 ...
- cocos2d粒子效果
第9章 粒子效果 游戏开发者通常使用粒子系统来制作视觉特效.粒子系统能够发射大量细小的粒子并对他们进行渲染,而且效率要远高于渲染同样数目的精灵.粒子系统可以模拟下雨.火焰.雪.爆炸.蒸气拖尾以及其他多 ...
随机推荐
- Silverlight技术调查(2)——跨域访问
原文 Silverlight技术调查(2)——跨域访问 此调查web容器采用的是Tomcat,若允许所有域访问,只需在webapps下的根应用ROOT中,加入配置文件:clientaccesspoli ...
- xxx==null和xxx.equals(null)的区别
如果xxx不是null的话,xxx==null将返回false,如果xxx是null的话,xxx将返回ture 而对xxx.equals(null)而言,他将永远返回false,因为如果xxx不是nu ...
- 基于visual Studio2013解决面试题之0807strstr函数
题目
- hdu 1760 一道搜索博弈题 挺新颖的题目
A New Tetris Game Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others ...
- Keepalived安装工具
装keepalived前,要先检查主机上是否已经安装, ps -ef | grep keepalive 不检查的话.easy把前人装的东西覆盖掉,那么曾经弄的配置文件都没了比較麻烦. 下面都为root ...
- EF具体用在什么类型的项目上
一般来说,使用EF框架,肯定会比直接使用ADO.NET,消耗的时间多一些. 因为使用ADO.NET直接把SQL语句传回数据库执行. 而使用EF框架的话,会把所用到的尸体,转换成相对应得SQL,然后再传 ...
- TestNg JAVA 自动化单元测试框架Demo
TestNg TestNg 是java的一个自动化单元测试框架 参考:http://testng.org/doc/index.html 环境准备 既然是java 的自动化单元测试框架,就必须要有jav ...
- 自绘ListBox的两种效果
本文利用Listbox自绘实现了两种特殊效果(见图),左边的风格是自己突然灵感触发想到的,右边的风格来自"C++ Builder 研究"的一个帖子,老妖用BCB实现了,这里则用Delphi实现它. 演 ...
- 2015 Multi-University Training Contest 1
最近真是太废柴了,题没做几道,也没学什么新知识,多校做了三场也没总结~诶!好好学吧! 多校第一场感觉被完虐...orz... Hdu 5288 OO’s Sequence 题目链接:http://ac ...
- Element.Event
addEvent(type,fn):为DOM元素增加一个事件监听器 removeEvent(type,fn):移除先前为DOM元素添加的事件监听器 eg: var destroy = function ...