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子类结构:


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




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值