前面用cocos2d-x完成了一个简单的demo,已经对使用cocos2d-x开发游戏有了一个大概的认识,现在来学习cocos2d-x中的常用类CCNode。学习cocos2d-x应该先了解它的整体结构,从大方向出发再逐步掌握细节问题,分而治之。cocos2d-x的类采用的是树状继承的方式,CCNode类是一个比较核心的类,下图是类结构图:
CCObject类是cocos2d-x中所有对象的基类,可以理解成java中的Object类,它封装了对象的引用计数和自动释放功能。从上图可知,CCNode是场景、层、菜单、精灵等所有节点的父类,而我们在使用cocos2d-x开发游戏时,接触的最多的就是场景、层、精灵这些东东,所以擒贼先擒王,下面就来了解一下CCNode内部包含的主要函数,在后期开发中会经常使用这些函数。
//获取节点的顺序,ZOrder:节点的Z轴,当有多个节点在屏幕显示时,引擎会根据它们Z轴的大小决定绘制顺序,Z轴大的会盖住Z轴小的
virtual int getZOrder(void)
//获取节点的位置(x,y)
virtual const CCPoint& getPosition(void)
//设置节点的位置
virtual void setPosition(const CCPoint
&var)
//获取其对应的摄像机,因为cocos2d-x是通过3D方式绘制2D效果的
virtual CCCamera* getCamera(void)
//判断节点是否可见
virtual bool getIsVisible(void)
//设置节点可见性
virtual void setIsVisible(bool var)
//获取节点的锚点的位置
virtual const CCPoint& getAnchorPoint(void)
//设置节点的锚点位置
virtual void setAnchorPoint(const CCPoint
&var)
//获取节点的尺寸,无论节点时缩放还是旋转,尺寸不变。层和场景的尺寸是屏幕的大小
virtual const CCSize& getContentSize(void)
//设置节点的尺寸
virtual void setContentSize(const CCSize
&var)
//判断节点是否在运行
virtual bool getIsRunning(void)
//获取父节点
virtual CCNode* getParent(void)
//获取节点的tag
virtual int getTag(void)
//设置节点的tag
virtual void setTag(int var)
//创建和初始化一个节点,该节点会自动释放
static CCNode * node(void);
//节点开始进入舞台时执行
virtual void onEnter();
//节点进入舞台后执行
virtual void onEnterTransitionDidFinish();
//节点离开舞台时执行
virtual void onExit();
//添加子节点,z-order默认值为0
virtual void addChild(CCNode * child);
//添加子节点,指定z-order值
virtual void addChild(CCNode * child,
int zOrder);
//添加子节点,指定z-order值和tag
virtual void addChild(CCNode * child,
int zOrder, int tag);
//从父节点中删除当前节点,如果cleanup为true则清除当前节点的所有动作及回调函数;如果当前节点没有父节点则什么也不做
void removeFromParentAndCleanup(bool
cleanup);
//删除指定节点,如果cleanup为true则清除指定节点的所有动作
virtual void removeChild(CCNode* child,
bool cleanup);
//通过tag删除节点,如果cleanup为true则清除该节点的所有动作
void removeChildByTag(int tag, bool cleanup);
//删除所有子节点,如果cleanup为true则清除节点的所有动作
virtual void removeAllChildrenWithCleanup(bool
cleanup);
//通过tag获取节点
CCNode * getChildByTag(int tag);
//重新给指定节点的zOrder赋值
virtual void reorderChild(CCNode * child,
int zOrder);
//清除所有动作及任务调度函数
virtual void cleanup(void);
//绘制节点自己
virtual void draw(void);
//递归visit和draw子节点
virtual void visit(void);
//返回节点对象的矩形框(由坐标和宽高组合而成)
CCRect boundingBox(void);
//执行动作
CCAction* runAction(CCAction* action);
//停止所有的动作
void stopAllActions(void);
//从动作序列中删除指定动作
void stopAction(CCAction* action);
//通过tag删除动作
void stopActionByTag(int tag);
//通过tag获取动作
CCAction* getActionByTag(int tag);
//执行节点的update函数,每帧都执行
void scheduleUpdate(void);
//取消执行节点的update函数
void unscheduleUpdate(void);
//定义一个定时器,每帧调用一次指定函数
void schedule(SEL_SCHEDULE selector);
//定义一个定时器,可以每隔一定的时间调用一次指定函数
void schedule(SEL_SCHEDULE selector,
ccTime interval);
//取消一个定时器
void unschedule(SEL_SCHEDULE selector);
//取消所有定时器,包括scheduleUpdate,不影响动作
void unscheduleAllSelectors(void);
//恢复所有定时器和动作
void resumeSchedulerAndActions(void);
//暂停所有定时器和动作
void pauseSchedulerAndActions(void);
转载请注明来自:Alex
Zhou,本文链接:http://codingnow.cn/cocos2d-x/765.html
分享到:
相关推荐
自己记录的Cocos2d-x学习笔记,希望能够帮助新手,快速入门,掌握cocos2d-x的开发
资源名称:Cocos2d-x实战:JS卷——Cocos2d-JS开发内容简介:本书是介绍Cocos2d-x游戏编程和开发技术书籍,介绍了使用Cocos2d-JS中核心类、瓦片地图、物理引擎、音乐音效、数据持久化、网络通信、性能优化、多平台...
Cocos2d-x学习笔记——完全掌握C++ API与游戏项目开发.zip
cocos2d-x-2.1.5
在使用cocos2d-x开发游戏的过程中,为了实现逻辑和显示相分离。 在下通宵了一个晚上,写出了该事件类。 谨记,该事件只能用于cocos2d-x中。 事件发送者需要继承EventDispatcher类 事件接收者需要继承EventHandle类...
资源名称:大富翁手机游戏开发实战基于Cocos2d-x3.2引擎内容简介:李德国编著的《大富翁手机游戏开发实战(基于 Cocos2d-x3.2引擎)》使用Cocos2d-x游戏引擎技术,带领读者一步一步从零开始进行大富翁移动游戏的开发...
Cocos2d-x是移动跨平台开发最流行的游戏引擎,而本书是一本很全面的、比较‘接地气’的游戏开发教程。书中汇聚了热门手机游戏《捕鱼达人》开发的实战经验,作者从最基础的内容开始,逐步深入地介绍了Cocos2d-x的相关...
cocos2d-x学习笔记\cocos2d-x学习笔记(17)--简单游戏实例1--双枪手
cocos2d-x-3.2下载,不多说。或者可以下载另一个资源 cocos引擎老版本集合(cocos2d-x-2.2.1 - 3.5) http://download.csdn.net/download/crazymagicdc/9982656
资源名称:Cocos2d-x学习笔记——完全掌握JS API与游戏项目开发资源截图: 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。
cocos2d-x学习笔记(5)-- CCScene场景的切换(带过度效果).rar
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是一款支持多平台的 2D手机游戏引擎,支持iOS、Android、BlackBerry等众多平台。当前,很多移动平台流行的游戏,都是基于Cocos2D-X开发的。 《Cocos2D-X...
经典版本 方便下载 源码 旧版本 3.8 官网找不到了 cocos2d-x-3.8.zip
精通COCOS2D-X游戏开发 精通COCOS2D-X游戏开发 精通COCOS2D-X游戏开发 精通COCOS2D-X游戏开发 精通COCOS2D-X游戏开发
这是我重新弄的cocos2d-x-3.0的类图.之前别人兄台弄的,有些不全面,有些地方错误.我这个可以说是最新的了.每个类添加了中文的详细注解,同时也添加了中文的类名称翻译.这样对cocos2d-x-3.0的框架比较好上手. 有兴趣的...
《Cocos2D-X游戏开发技术精解》详细介绍如何使用Cocos2D-X引擎开发自己的移动平台游戏。全书共15章,主要内容包括:Cocos2D-X引擎简介;如何建立跨平台的开发环境;引擎的核心模块——渲染框架;如何实现动态画面和...
Cocos2d-x 3.x游戏开发实战pdf含目录,内容详细,强烈推荐给大家。
老G的cocos2d-x学习笔记 第一部分:基本图形绘制 第二部分:字符串绘制 第三部分:绘制图片 cocos2d-x学习笔记04:简单动画 cocos2d-x学习笔记06:如何将win32移植到android ....