您的位置:首页 > 移动开发 > Cocos引擎

cocos2d-x学习笔记-CCNode

2014-11-03 21:33 375 查看
cocos2d-x学习笔记-CCNode 10-27 cocos2d-x Alex Zhou 10,719前面用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)//获取节点的tagvirtual int getTag(void)//设置节点的tagvirtual void setTag(int var)//创建和初始化一个节点,该节点会自动释放static CCNode * node(void);//节点开始进入舞台时执行virtual void onEnter();//节点进入舞台后执行virtual
void onEnterTransitionDidFinish();//节点离开舞台时执行virtual void onExit();//添加子节点,z-order默认值为0virtual void addChild(CCNode * child);//添加子节点,指定z-order值virtual void addChild(CCNode * child, int zOrder);//添加子节点,指定z-order值和tagvirtual 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的BLOG原文地址: http://codingnow.cn/cocos2d-x/765.html转载时必须以链接形式注明原始出处及本声明。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: