加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Cocos2d-x_CCNode(节点类)类介绍

发布时间:2020-12-14 19:02:21 所属栏目:百科 来源:网络整理
导读:在Cocos2d-x中,几乎所有与渲染有关的类都是继承自CCNode类。由此可见,类CCNode在Cocos2d-x引擎中的重要性是无可替代的。场景CCscene、层CCLayer、精灵CCSprite以及精灵集合CCSpriteBatchNode的父类都是类CCNode。 /* 类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子类结构:


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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读