Cocos2d-x_CCNode(节点类)类介绍

在Cocos2d-x中,几乎所有与渲染有关的类都是继承自CCNode类。由此可见,类CCNode在Cocos2d-x引擎中的重要性是无可替代的。场景CCscene、层CCLayer、精灵CCSprite以及精灵集合CCSpriteBatchNode的父类都是类CCNode。

/* 类CCNode与节点有关的函数 */

// 将参数中的节点对象添加至当前节点,z坐标为0
virtual void addChild(CCNode *child);
// 将参数中的节点对象添加至当前节点,z坐标为zOrder
virtual void addChild(CCNode *child,int zOrder);
// 将参数中的节点对象添加至当前节点,z坐标为zOrder,标志值为tag
virtual void addChild(CCNode *child,int zOrder,int tag);


// 将当前节点从父节点移除,并设置是否清除动作以及计时器
void removeFromParentAndCleanup(bool cleanup);
// 移除参数中指定的子节点,并设置是否清除动作以及计时器
virtual void removeChild(CCNode *child,bool cleanup);
// 通过标志值来移除子节点,并设置是否清除动作以及计时器
void removeChildByTag(int tag,bool cleanup);
// 移除全部的子节点,并设置是否清除动作以及计时器
virtual void removeAllChildWithCleanup(bool cleanup);


// 返回标志值指定的子节点
CCNode *getChildByTag(int tag,bool cleanup);
// 重新设置子节点的z坐标值
virtual void reorderChild(CCNode *child,int zOrder);
// 排序所有子节点,提供渲染性能。不要随意使用,除非需要在当前帧移除新加入的子节点
virtual void sortAllChildren();
// 获得子节点组成的数组
virtual cocos2d::CCArray *getChild(void);
// 获得子节点的数目
unsigned int getChildrenCount(void);

/* 类CCNode中的定时器有关的函数 */

// 检查当前函数句柄是否为定时器回调
bool isScheduled(SEL_SCHEDULE selectot);
// 启动定时器回调函数
void scheduleUpdate(void);
// 根据优先级来控制回调函数
void scheduleUpdateWithPriority(int priority);
// 取消回调函数
void unscheduleUpdate(void);


// 启动定时器,参数为回调函数
void schedule(SEL_SCHEDULE selectot);
// 启动定时器,参数为回调函数和以毫秒为单位的循环周期
void schedule(SEL_SCHEDULE selector,float interval);
// 启动定时器,参数为回调函数和以毫秒为单位的循环周期、循环次数以及延迟启动时间
void schedule(SEL_SCHEDULE selector,float interval,unsigned int repeat,float delay);
// 启动一次定时器,参数为回调函数以及延迟启动时间
void scheduleOne(SEL_SCHEDULE selector,float delay);


// 取消指定回调函数的定时器
void unschedule(SEL_SCHEDULE selector);
// 取消所有定时器,包括回调函数
void unscheduleAllSelectors(void);
// 恢复所有定时器以及动作
void resumeSchedulerAndActions(void);
// 暂停所有定时器以及动作
void pauseSchedulerAndActions(void);

/* 类CCNode中与动作相关的函数 */

// 执行动作,返回执行动作
CCAction *renAction(CCAction *action);
// 停止所有动作
void stopAllActions(void);
// 停止指定动作
void stopAction(CCAction *action);
// 根据标志值停止指定动作
void stopActionByTag(int tag);
// 根据标志值获得指定动作对象
CCAction *getActionByTag(int tag);
// 获取当前对象执行动作数目
unsigned int numberOfRnnningActions(void);

CCNode子类结构:


上面的图片列出了引擎渲染框架中五个主要的类。它们将游戏画面进行合理的划分。这五个类的功能几乎涵盖了整个游戏的显示内容。从坐到右,依次为:场景类、图层类、菜单类、精灵类以及粒子系统类。

相关文章

    本文实践自 RayWenderlich、Ali Hafizji 的文章《...
Cocos-code-ide使用入门学习地点:杭州滨江邮箱:appdevzw@1...
第一次開始用手游引擎挺激动!!!进入正题。下载资源1:从C...
    Cocos2d-x是一款强大的基于OpenGLES的跨平台游戏开发...
1.  来源 QuickV3sample项目中的2048样例游戏,以及最近《...
   Cocos2d-x3.x已经支持使用CMake来进行构建了,这里尝试...