1 CCNode是cocos2d-x中一个很重要的类,CCNode是场景、层、菜单、精灵等的父类。而我们在使用cocos2d-x时,接触最多的就是场景、层、菜单、精灵等。所以有必要先弄懂CCNode类

2 CCObject类是cocos2d-x中所有对象的基类,CCObject封装了对象的引用计数和自动释放功能,下面是类图

3 因为场景、层、精灵、菜菜单是CCNode的子类,所以在使用它们时,有些方法来自CCNode,下面解释了CCNode中常用的方法

[cpp] 
//初始化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);

//初始化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 CCNode类(节点属性大全)的更多相关文章

  1. angular常用属性大全

    Angular元素属性大全 addClass()-为每个匹配的元素添加指定的样式类名 after()-在匹配元素集合中的每个元素后面插入参数所指定的内容,作为其兄弟节点 append()-在每个匹配元 ...

  2. ASP.NET控件属性大全

    ASP.NET控件属性大全 DataGridView 控件DataGridView 控件提供用来显示数据的可自定义表.使用 DataGridView 类,可以自定义单元格.行.列和边框. 注意Data ...

  3. testng.xml文件结构组成及节点属性说明

    TestNG的DTD检查文件:http://testng.org/testng-1.0.dtd.PHP 更多testng配置及说明,请移步http://testdoc.org/docmaster?pi ...

  4. UML类图关系大全

    UML类图关系大全 1.关联 双向关联: C1-C2:指双方都知道对方的存在,都可以调用对方的公共属性和方法.在GOF的设计模式书上是这样描述的:虽然在分析阶段这种关系是适用的,但我们觉得它对于描述设 ...

  5. ibernate学习笔记5---实体类或属性名与数据库关键字冲突、hql命名参数、hql实现通用分页

    一.实体类或属性名与数据库关键字冲突问题1.实体类名与数据库中的关键字冲突比如:实体表User与oracle中的系统表冲突解决方式1:在xml中添加table属性,指定表名,使其不与name默认相等 ...

  6. jquery 节点操作大全

    $para.attr("title"); 实例: <script type="text/javascript"> //<![CDATA[ $( ...

  7. cocos2d-x CCNode类

    文章引用自http://blog.csdn.net/qiurisuixiang/article/details/8763260 1 CCNode是cocos2d-x中一个非常重要的类.CCNode是场 ...

  8. [cocos2d-x] --- CCNode类详解

    Email : awodefeng@163.com 1 CCNode是cocos2d-x中一个很重要的类,CCNode是场景.层.菜单.精灵等的父类.而我们在使用cocos2d-x时,接触最多的就是场 ...

  9. 节点操作,节点属性的操作及DOM event事件

    ##1. 节点操作 createElement(标签名) 创建一个指定名称的元素 someone.appendChild(new_node) 追加一个子节点(作为最后的子节点) someone.ins ...

随机推荐

  1. vmware虚拟的ubuntu18.04死机,尝试关闭时关机报“虚拟机xxx繁忙”

    找到虚拟机文件所在目录 打开vmware.log,第一行,找pid到pid=xxx,这就是CPU进程的id. 打开资源监视器,选CPU选项卡,找到这个PID,右键,结束进程. 再打开vmware尝试启 ...

  2. [No000016E]Spring 中获取 request 的几种方法,及其线程安全性分析

    前言 本文将介绍在Spring MVC开发的web系统中,获取request对象的几种方法,并讨论其线程安全性. 原创不易,如果觉得文章对你有帮助,欢迎点赞.评论.文章有疏漏之处,欢迎批评指正. 欢迎 ...

  3. 机器学习使用sklearn进行模型训练、预测和评价

    cross_val_score(model_name, x_samples, y_labels, cv=k) 作用:验证某个模型在某个训练集上的稳定性,输出k个预测精度. K折交叉验证(k-fold) ...

  4. Node的REPL环境

    1. Node的REPL环境 什么是REPL REPL全称 Read-eval-print-loop,交互式解析器 REPL可以提供给程序员对Node.js的一些api快速测试 REPL的基本操作 定 ...

  5. vsftp设置不同用户登录ftp的根目录不同

    创建三个用户 [root@SHM-Storage-EF ~]# useradd kids [root@SHM-Storage-EF ~]# useradd mini [root@SHM-Storage ...

  6. C# RichTextBox的用法

    https://www.cnblogs.com/arxive/p/5725570.html

  7. [cloud][sdn] openstack openflow opendaylight openvswitch

    https://www.quora.com/What-is-the-relation-between-OpenStack-OpenDaylight-OpenFlow-and-Open-vSwitch- ...

  8. 如何获取Android系统APP的Package Name和Activity Name

    有两种方式: 方式一.aapt.exe查看Package Name和入口Activity Name (1) 在安装路径android-sdk\platform-tools下查找aapt.exe:  如 ...

  9. tomcat端口设置

    在tomcat安装目录下,编辑/conf/server.properties 更改对应的端口: 然后系统重启就可以了.

  10. git 码云的常用命令(版本控制)

    首先在码云仓库创建对应的仓库 当你输入错误用户名和密码 需要清掉配置 git config --system --unset credential.helper 设置账号 git config --g ...