Email : awodefeng@163.com
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类详解的更多相关文章
-
java之StringBuffer类详解
StringBuffer 线程安全的可变字符序列. StringBuffer源码分析(JDK1.6): public final class StringBuffer extends Abstract ...
-
java之AbstractStringBuilder类详解
目录 AbstractStringBuilder类 字段 构造器 方法 public abstract String toString() 扩充容量 void expandCapacity(in ...
-
java之StringBuilder类详解
StringBuilder 非线程安全的可变字符序列 .该类被设计用作StringBuffer的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍).如果可能,建议优先采用该类,因为在 ...
-
Java String类详解
Java String类详解 Java字符串类(java.lang.String)是Java中使用最多的类,也是最为特殊的一个类,很多时候,我们对它既熟悉又陌生. 类结构: public final ...
-
QAction类详解:
先贴一段描述:Qt文档原文: Detailed Description The QAction class provides an abstract user interface action tha ...
-
JAVAEE学习——struts2_01:简介、搭建、架构、配置、action类详解和练习:客户列表
一.struts2是什么 1.概念 2.struts2使用优势以及历史 二.搭建struts2框架 1.导包 (解压缩)struts2-blank.war就会看到 2.书写Action类 public ...
-
Struts2-整理笔记(二)常量配置、动态方法调用、Action类详解
1.修改struts2常量配置(3种) 第一种 在str/struts.xml中添加constant标签 <struts> <!-- 如果使用使用动态方法调用和include冲突 - ...
-
C# 内置 DateTime类详解
C# 内置 DateTime类详解 摘抄自微软官方文档,用来方便自己查阅:网址:https://msdn.microsoft.com/zh-cn/library/system.datetime(v=v ...
-
Android游戏开发之旅 View类详解
Android游戏开发之旅 View类详解 自定义 View的常用方法: onFinishInflate() 当View中所有的子控件 均被映射成xml后触发 onMeasure(int, int) ...
随机推荐
-
《Kafka Stream》调研:一种轻量级流计算模式
原文链接:https://yq.aliyun.com/articles/58382 摘要: 流计算,已经有Storm.Spark,Samza,包括最近新起的Flink,Kafka为什么再自己做一套流计 ...
-
C# 反射浅析
反射是一个运行库类型发现的过程.通过反射可以得到一个给定程序集所包含的所有类型的列表,这个列表包括给定类型中定义的方法.字段.属性和事件.此外,通过反射也可以动态的发现一组给定类支持的接口.方法的参数 ...
-
SQL Server查询分组结果中第一条记录的方法
select * from ( select mp.MsgID,m.Content,m.CreatorID,m.CreateTime,ROW_NUMBER() over(partition by m ...
-
开源的javascript实现页面打印功能,兼容所有的浏览器(情况属实)
这篇文章完全是属于技术文章,也是记录一下自己在项目当中遇到的坑爹问题啊,因为是B/S的程序,所以打印功能还是必须要有的,对于打印我选择了一个js插件,发现非常的简单和方便,所以这里拿出来和大家分享一下 ...
-
【转】PLSQL developer 连接不上64位Oracle 的解决方法
PLSQL developer 连接不上64位Oracle 的解决方法 快乐无极 , 2012/06/13 10:10 , 开发文档 , 评论(6) , 阅读(140430) , Via 本站原创 大 ...
-
codeforces Ebony and Ivory(水题)
A. Ebony and Ivory time limit per test 2 seconds memory limit per test 256 megabytes input standard ...
-
IOS对话框UIAlertView
//修改弹出对话框的样式 alertView.alertViewStyle = UIAlertViewStylePlainTextInput; //根据索引获取指定的某个文本框 [alertView ...
-
在centos上安装jenkins
摘要: 本篇介绍了如何在linux服务器上安装jenkins 一:使用war安装 官网地址:https://jenkins.io/doc/ Guided Tour This guided tour w ...
-
Java 容器 &; 泛型:四、Colletions.sort 和 Arrays.sort 的算法
Writer:BYSocket(泥沙砖瓦浆木匠) 微博:BYSocket 豆瓣:BYSocket 本来准备讲 Map集合 ,还是喜欢学到哪里总结吧.最近面试期准备准备,我是一员,成功被阿里在线笔试秒杀 ...
-
python读写json+字典保存
解决方案 json 模块提供了一种很简单的方式来编码和解码JSON数据. 其中两个主要的函数是 json.dumps()和 json.loads() , 要比其他序列化函数库如pickle的接口少得多 ...