`
xitong
  • 浏览: 6179036 次
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多

 

Email : hahayacoder@gmail.com

 

1 CCNodecocos2d-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实战:JS卷——Cocos2d-JS开发

    资源名称:Cocos2d-x实战:JS卷——Cocos2d-JS开发内容简介:本书是介绍Cocos2d-x游戏编程和开发技术书籍,介绍了使用Cocos2d-JS中核心类、瓦片地图、物理引擎、音乐音效、数据持久化、网络通信、性能优化、多平台...

    cocos2d-x事件类

    在使用cocos2d-x开发游戏的过程中,为了实现逻辑和显示相分离。 在下通宵了一个晚上,写出了该事件类。 谨记,该事件只能用于cocos2d-x中。 事件发送者需要继承EventDispatcher类 事件接收者需要继承EventHandle类...

    cocos2d-x-2.1.5

    cocos2d-x-2.1.5

    大富翁手机游戏开发实战基于Cocos2d-x3.2引擎

    资源名称:大富翁手机游戏开发实战基于Cocos2d-x3.2引擎内容简介:李德国编著的《大富翁手机游戏开发实战(基于 Cocos2d-x3.2引擎)》使用Cocos2d-x游戏引擎技术,带领读者一步一步从零开始进行大富翁移动游戏的开发...

    Cocos2d-x高级开发教程

    Cocos2d-x是移动跨平台开发最流行的游戏引擎,而本书是一本很全面的、比较‘接地气’的游戏开发教程。书中汇聚了热门手机游戏《捕鱼达人》开发的实战经验,作者从最基础的内容开始,逐步深入地介绍了Cocos2d-x的相关...

    cocos2d-x-3.2旧版引擎下载

    cocos2d-x-3.2下载,不多说。或者可以下载另一个资源 cocos引擎老版本集合(cocos2d-x-2.2.1 - 3.5) http://download.csdn.net/download/crazymagicdc/9982656

    cocos2d-x实战项目

    cocos2d-x实战项目 01.cocos2d-x原理及环境配置.rar 03.cocostudio使用方法及UI控制.rar 04.XML文件读取与骨骼动画.rarcocos2d-x实战项目 01.cocos2d-x原理及环境配置.rar 03.cocostudio使用方法及UI控制.rar 04.XML...

    Cocos2D-X游戏开发技术精解

    资源名称:Cocos2D-X游戏开发技术精解内容简介:Cocos2D-X是一款支持多平台的 2D手机游戏引擎,支持iOS、Android、BlackBerry等众多平台。当前,很多移动平台流行的游戏,都是基于Cocos2D-X开发的。 《Cocos2D-X...

    经典版本 方便下载 源码 旧版本 3.8 官网找不到了 cocos2d-x-3.8.zip

    经典版本 方便下载 源码 旧版本 3.8 官网找不到了 cocos2d-x-3.8.zip

    cocos2d-x-3.0 类图

    这是我重新弄的cocos2d-x-3.0的类图.之前别人兄台弄的,有些不全面,有些地方错误.我这个可以说是最新的了.每个类添加了中文的详细注解,同时也添加了中文的类名称翻译.这样对cocos2d-x-3.0的框架比较好上手. 有兴趣的...

    精通COCOS2D-X游戏开发 基础卷_2016.4-P399-13961841.pdf

    精通COCOS2D-X游戏开发 精通COCOS2D-X游戏开发 精通COCOS2D-X游戏开发 精通COCOS2D-X游戏开发 精通COCOS2D-X游戏开发

    Cocos2D-X游戏开发技术精解.pdf

    《Cocos2D-X游戏开发技术精解》详细介绍如何使用Cocos2D-X引擎开发自己的移动平台游戏。全书共15章,主要内容包括:Cocos2D-X引擎简介;如何建立跨平台的开发环境;引擎的核心模块——渲染框架;如何实现动态画面和...

    Cocos2d-x 3.x游戏开发实战pdf含目录

    Cocos2d-x 3.x游戏开发实战pdf含目录,内容详细,强烈推荐给大家。

    cocos2d-x windows vs2010配置

    Cocos2d-x windows vs2010 配置图文详解

    Cocos2d-x游戏编程——C++篇 .iso

    Cocos2d-x游戏编程——C++篇(电子工业出版社,徐飞 著)书本配套的光盘代码,

    Cocos2d-x实战 JS卷 Cocos2d-JS开发

    Cocos2d-x实战 JS卷 Cocos2d-JS开发 PDF 电子书完整版本

    cocos2d-x 动画工具 Flash2Cocos2d-x 1.3

    cocos2d-x 动画工具 Flash2Cocos2d-x 1.3

    cocos2d-x 3.0

    cocos2d-x 3.0 人物行走 . 包里有代码和 图片资源.

    cocos2d-x开发者文档(中文)2015-01-30

    因为最近在学cocos2d-x,找了半天在网上也找不到一个离线的文档,于是自己抽空做了一个,全部内容提取自cocos2d-x中文官网的文档页http://cn.cocos2d-x.org/article 目前只提取了cocos2d-x部分内容。因为内容比较多...

    Cocos2d-x-3.x游戏开发之旅

    Cocos2d-x-3.x游戏开发之旅-钟迪龙著 全新pdf版和附书代码(代码为工程文件,可复制) 附带目录标签

Global site tag (gtag.js) - Google Analytics