支持HW团队,就支付宝领取下面的红包吧!(2018年3月31前,就几毛,也会几块,可以和其他红包叠加使用),你领取消费,HW有奖励。红包使用无条件限制,有条件请注意是不是有病毒。

小伙伴们,给大家发红包喽!人人可领,领完就能用。祝大家领取的红包金额大大大!#吱口令#长按复制此消息,打开支付宝就能领取!er1OEj73Uj

登入 注册 | 验证
| 搜索

博主:初学MPEG

初学MPEG 本博客-采用Python的web框架Django与Mysql数据库,致力于对Python、Django的了解 与研究
Django技术QQ群:XXXXXXX
Python技术QQ群:XXXXXXX

分类

关键字

本站最新博文

友情链接  

[转][cocos2d-x] --- CCNode类详解

类别:Cocos2dx教程 状态:游客可见,可回,会员可关联(没审核) 阅读:1700 评论:0 时间:一月 18, 2017, 11:34 p.m.
关键字:cocos2d-x

 来源:http://blog.csdn.net/qiurisuixiang/article/details/8763260

1 CCNodecocos2d-x中一个很重要的类,CCNode是场景、层、菜单、精灵等的父类。而我们在使用cocos2d-x时,接触最多的就是场景、层、菜单、精灵等。所以有必要先弄懂CCNode

 

2 CCObject类是cocos2d-x中所有对象的基类,CCObject封装了对象的引用计数和自动释放功能,下面是类图

 

因为场景、层、精灵、菜菜单是CCNode的子类,所以在使用它们时,有些方法来自CCNode,下面解释了CCNode中常用的方法

 

//初始化CCNode  
bool init();  

//生成CCNode对象  
CCNode * create(void);  

//获取描述字符串 便于调试  
const char* description(void);  

//设置节点Z轴顺序 当有多个节点在Z轴显示时 引擎会根据它们Z轴的大小决定绘制顺序 Z轴大的会覆盖Z轴小的  
void setZOrder(int zOrder);  
void _setZOrder(int z);  
//获取节点Z轴顺序  
int getZOrder();  

//设置OpenGL Z轴顶点  
void setVertexZ(float vertexZ);  
//获取OpenGL Z轴顶点  
float getVertexZ();  

//设置节点X轴比例因子  
void setScaleX(float fScaleX);  
//获取节点X轴比例因子  
float getScaleX();  

//设置节点Y轴比例因子  
void setScaleY(float fScaleY);  
//获取节点Y轴比例因子  
float getScaleY();  

//设置节点比例因子 同时设置X轴、Y轴  
void setScale(float scale);  
//获取节点比例因子 必须X轴、Y轴比例因子相等  
float getScale();  

//设置节点(x, y)在OpenGL中的坐标   
void setPosition(const CCPoint &position);  
//获取节点(x, y)在OpenGL中的坐标   
const CCPoint& getPosition();  

//设置节点(x, y)在OpenGL中的坐标  
void setPosition(float x, float y);  
//获取节点(x, y)在OpenGL中的坐标  
void getPosition(float* x, float* y);  

//设置节点在OpenGL中的X坐标  
void setPositionX(float x);  
//获取节点在OpenGL中的X坐标  
float getPositionX(void);  
//设置节点在OpenGL中的Y坐标  
void setPositionY(float y);  
//获取节点在OpenGL中的Y坐标  
float getPositionY(void);  

//设置X轴的倾斜角度  
void setSkewX(float fSkewX);  
//获取X轴的倾斜角度  
float getSkewX();  

//设置Y轴的倾斜角度  
void setSkewY(float fSkewY);  
//获取Y轴的倾斜角度  
float getSkewY();  

//设置节点锚点的位置  
void setAnchorPoint(const CCPoint& anchorPoint);  
//获取节点锚点的位置  
const CCPoint& getAnchorPoint();  

//设置节点的尺寸  
void setContentSize(const CCSize& contentSize);  
//获取节点的尺寸  
const CCSize& getContentSize();  

//设置节点是否可见  
void setVisible(bool visible);  
//获取节点是否可见  
bool isVisible();  

//设置节点自转角度  
void setRotation(float fRotation);  
//获取节点自转角度  
float getRotation();  

//zOrder 当有多个节点在Z轴显示时 引擎会根据它们Z轴的大小决定绘制顺序 Z轴大的会覆盖Z轴小的  
//添加子节点 zOrder默认为0  
void addChild(CCNode * child);  
//添加子节点  
void addChild(CCNode * child, int zOrder);  
//添加子节点 指定节点zOrder和节点tag  
void addChild(CCNode* child, int zOrder, int tag);  

//通过tag名称获取节点  
CCNode * getChildByTag(int tag);  
//获取所有子节点  
CCArray* getChildren();  
//获取子节点数目  
unsigned int getChildrenCount(void);  

//设置子节点的父节点  
void setParent(CCNode* parent);  
//获取子节点的父节点  
CCNode* getParent();  

//从父节点中删除当前子节点  
void removeFromParent();  
//从父节点中删除当前子节点 如果Cleanup为true则删除当前节点的所有动作及回调函数  
void removeFromParentAndCleanup(bool cleanup);  
//从父节点中删除当前子节点 如果Cleanup为true则删除当前节点的所有动作  
void removeChild(CCNode* child);  
//从父节点中删除当前子节点 并指定Cleanup  
void removeChild(CCNode* child, bool cleanup);  
//通过tag名称移除节点  
void removeChildByTag(int tag);  
//通过tag名称移除节点并指定Cleanup  
void removeChildByTag(int tag, bool cleanup);  
//移除所有子节点  
void removeAllChildren();  
//移除所有子节点 并指定Cleanup  
void removeAllChildrenWithCleanup(bool cleanup);  

//重新设定节点的zOrder  
void reorderChild(CCNode * child, int zOrder);  

//重新排序所有子节点  
void sortAllChildren();  

//获取节点的tag名称  
int getTag();  
//设置节点的tag名称  
void setTag(int nTag);  

//获取节点的CCCamera摄像机 cocos2d-x是通过3D方式绘制2D效果  
CCCamera* getCamera();  

//判断当前节点是否在运行  
bool isRunning();  

//节点开始进入舞台时的回调事件  
void onEnter();  
//节点进入舞台时的回调事件  
void onEnterTransitionDidFinish();  
//节点离开舞台时的回调事件  
void onExit();  

//停止所有运行的动作和回调函数  
void cleanup(void);  

//绘制节点  
void draw(void);  

//递归visit子节点并重绘  
void visit(void);  

//返回节点对象的矩形框(由坐标宽高组成)  
CCRect boundingBox(void);  

//设置CCActionManager对象被所有动作使用  
void setActionManager(CCActionManager* actionManager);  
//获取被所有动作使用的CCActionManger  
CCActionManager* getActionManager();  

//执行动作  
CCAction* runAction(CCAction* action);  
//停止动作  
stopAction(CCAction* action);  


//停止所有动作  
void stopAllActions(void);  

//通过tag名称获取动作  
CCAction* getActionByTag(int tag);  

//获取正在运行的动作数量  
unsigned int numberOfRunningActions(void);  

//定义一个定时器  
void schedule(SEL_SCHEDULE selector, float interval, unsigned int repeat, float delay);  
//定义一个定时器  
void schedule(SEL_SCHEDULE selector, float interval);  

//取消一个定时器  
void unschedule(SEL_SCHEDULE selector);  
//取消所有定时器  
void unscheduleAllSelectors(void);  

//暂停所有定时器和动作  
void pauseSchedulerAndActions(void);  
//恢复所有定时器和动作  
void resumeSchedulerAndActions(void);  

 

操作:

Please Login (or Sign Up) to leave a comment