1 CCNode是cocos2d-x中一个很重要的类,CCNode是场景、层、菜单、精灵等的父类。而我们在使用cocos2d-x时,接触最多的就是场景、层、菜单、精灵等。所以有必要先弄懂CCNode类
2 CCObject类是cocos2d-x中所有对象的基类,CCObject封装了对象的引用计数和自动释放功能,下面是类图
3因为场景、层、精灵、菜菜单是CCNode的子类,所以在使用它们时,有些方法来自CCNode,下面解释了CCNode中常用的方法
- //初始化CCNode@H_403_52@
- bool@H_403_52@init();
- //生成CCNode对象@H_403_52@
- CCNode*create(void@H_403_52@);
- //获取描述字符串便于调试@H_403_52@
- const@H_403_52@char@H_403_52@*description(void@H_403_52@);
- //设置节点Z轴顺序当有多个节点在Z轴显示时引擎会根据它们Z轴的大小决定绘制顺序Z轴大的会覆盖Z轴小的@H_403_52@
- void@H_403_52@setZOrder(int@H_403_52@zOrder);
- void@H_403_52@_setZOrder(int@H_403_52@z);
- //获取节点Z轴顺序@H_403_52@
- int@H_403_52@getZOrder();
- //设置OpenGLZ轴顶点@H_403_52@
- void@H_403_52@setVertexZ(float@H_403_52@vertexZ);
- //获取OpenGLZ轴顶点@H_403_52@
- float@H_403_52@getVertexZ();
- //设置节点X轴比例因子@H_403_52@
- void@H_403_52@setScaleX(float@H_403_52@fScaleX);
- //获取节点X轴比例因子@H_403_52@
- float@H_403_52@getScaleX();
- //设置节点Y轴比例因子@H_403_52@
- void@H_403_52@setScaleY(float@H_403_52@fScaleY);
- //获取节点Y轴比例因子@H_403_52@
- float@H_403_52@getScaleY();
- //设置节点比例因子同时设置X轴、Y轴@H_403_52@
- void@H_403_52@setScale(float@H_403_52@scale);
- //获取节点比例因子必须X轴、Y轴比例因子相等@H_403_52@
- float@H_403_52@getScale();
- //设置节点(x,y)在OpenGL中的坐标@H_403_52@
- void@H_403_52@setPosition(const@H_403_52@CCPoint&position);
- //获取节点(x,153); font-weight:bold; background-color:inherit">const@H_403_52@CCPoint&getPosition();
- 403_52@
- void@H_403_52@setPosition(float@H_403_52@x,float@H_403_52@y);
- void@H_403_52@getPosition(float@H_403_52@*x,87); font-weight:bold; background-color:inherit">float@H_403_52@*y);
- //设置节点在OpenGL中的X坐标@H_403_52@
- void@H_403_52@setPositionX(float@H_403_52@x);
- //获取节点在OpenGL中的X坐标@H_403_52@
- float@H_403_52@getPositionX(//设置节点在OpenGL中的Y坐标@H_403_52@
- void@H_403_52@setPositionY(float@H_403_52@y);
- //获取节点在OpenGL中的Y坐标@H_403_52@
- float@H_403_52@getPositionY(//设置X轴的倾斜角度@H_403_52@
- void@H_403_52@setSkewX(float@H_403_52@fSkewX);
- //获取X轴的倾斜角度@H_403_52@
- float@H_403_52@getSkewX();
- //设置Y轴的倾斜角度@H_403_52@
- void@H_403_52@setSkewY(float@H_403_52@fSkewY);
- //获取Y轴的倾斜角度@H_403_52@
- float@H_403_52@getSkewY();
- //设置节点锚点的位置@H_403_52@
- void@H_403_52@setAnchorPoint(const@H_403_52@CCPoint&anchorPoint);
- //获取节点锚点的位置@H_403_52@
- const@H_403_52@CCPoint&getAnchorPoint();
- //设置节点的尺寸@H_403_52@
- void@H_403_52@setContentSize(const@H_403_52@CCSize&contentSize);
- //获取节点的尺寸@H_403_52@
- const@H_403_52@CCSize&getContentSize();
- //设置节点是否可见@H_403_52@
- void@H_403_52@setVisible(bool@H_403_52@visible);
- //获取节点是否可见@H_403_52@
- bool@H_403_52@isVisible();
- //设置节点自转角度@H_403_52@
- void@H_403_52@setRotation(float@H_403_52@fRotation);
- //获取节点自转角度@H_403_52@
- float@H_403_52@getRotation();
- //zOrder当有多个节点在Z轴显示时引擎会根据它们Z轴的大小决定绘制顺序Z轴大的会覆盖Z轴小的@H_403_52@
- //添加子节点zOrder默认为0@H_403_52@
- void@H_403_52@addChild(CCNode*child);
- //添加子节点@H_403_52@
- void@H_403_52@addChild(CCNode*child,0); background-color:inherit">//添加子节点指定节点zOrder和节点tag@H_403_52@
- int@H_403_52@zOrder,87); font-weight:bold; background-color:inherit">int@H_403_52@tag);
- //通过tag名称获取节点@H_403_52@
- CCNode*getChildByTag(int@H_403_52@tag);
- //获取所有子节点@H_403_52@
- CCArray*getChildren();
- //获取子节点数目@H_403_52@
- unsignedint@H_403_52@getChildrenCount(//设置子节点的父节点@H_403_52@
- void@H_403_52@setParent(CCNode*parent);
- //获取子节点的父节点@H_403_52@
- CCNode*getParent();
- //从父节点中删除当前子节点@H_403_52@
- void@H_403_52@removeFromParent();
- //从父节点中删除当前子节点如果Cleanup为true则删除当前节点的所有动作及回调函数@H_403_52@
- void@H_403_52@removeFromParentAndCleanup(bool@H_403_52@cleanup);
- //从父节点中删除当前子节点如果Cleanup为true则删除当前节点的所有动作@H_403_52@
- void@H_403_52@removeChild(CCNode*child);
- //从父节点中删除当前子节点并指定Cleanup@H_403_52@
- void@H_403_52@removeChild(CCNode*child,0); background-color:inherit">//通过tag名称移除节点@H_403_52@
- void@H_403_52@removeChildByTag(//通过tag名称移除节点并指定Cleanup@H_403_52@
- int@H_403_52@tag,0); background-color:inherit">//移除所有子节点@H_403_52@
- void@H_403_52@removeAllChildren();
- //移除所有子节点并指定Cleanup@H_403_52@
- void@H_403_52@removeAllChildrenWithCleanup(//重新设定节点的zOrder@H_403_52@
- void@H_403_52@reorderChild(CCNode*child,0); background-color:inherit">//重新排序所有子节点@H_403_52@
- void@H_403_52@sortAllChildren();
- //获取节点的tag名称@H_403_52@
- int@H_403_52@getTag();
- //设置节点的tag名称@H_403_52@
- void@H_403_52@setTag(int@H_403_52@nTag);
- //获取节点的CCCamera摄像机cocos2d-x是通过3D方式绘制2D效果@H_403_52@
- CCCamera*getCamera();
- //判断当前节点是否在运行@H_403_52@
- bool@H_403_52@isRunning();
- //节点开始进入舞台时的回调事件@H_403_52@
- void@H_403_52@onEnter();
- //节点进入舞台时的回调事件@H_403_52@
- void@H_403_52@onEnterTransitionDidFinish();
- //节点离开舞台时的回调事件@H_403_52@
- void@H_403_52@onExit();
- //停止所有运行的动作和回调函数@H_403_52@
- void@H_403_52@cleanup(//绘制节点@H_403_52@
- void@H_403_52@draw(//递归visit子节点并重绘@H_403_52@
- void@H_403_52@visit(//返回节点对象的矩形框(由坐标宽高组成)@H_403_52@
- CCRectboundingBox(//设置CCActionManager对象被所有动作使用@H_403_52@
- void@H_403_52@setActionManager(CCActionManager*actionManager);
- //获取被所有动作使用的CCActionManger@H_403_52@
- CCActionManager*getActionManager();
- //执行动作@H_403_52@
- CCAction*runAction(CCAction*action);
- //停止动作@H_403_52@
- stopAction(CCAction*action);
- //停止所有动作@H_403_52@
- void@H_403_52@stopAllActions(//通过tag名称获取动作@H_403_52@
- CCAction*getActionByTag(//获取正在运行的动作数量@H_403_52@
- int@H_403_52@numberOfRunningActions(//定义一个定时器@H_403_52@
- void@H_403_52@schedule(SEL_SCHEDULEselector,87); font-weight:bold; background-color:inherit">float@H_403_52@interval,unsignedint@H_403_52@repeat,87); font-weight:bold; background-color:inherit">float@H_403_52@delay);
- float@H_403_52@interval);
- //取消一个定时器@H_403_52@
- void@H_403_52@unschedule(SEL_SCHEDULEselector);
- //取消所有定时器@H_403_52@
- void@H_403_52@unscheduleAllSelectors(//暂停所有定时器和动作@H_403_52@
- void@H_403_52@pauseSchedulerAndActions(//恢复所有定时器和动作@H_403_52@
- void@H_403_52@resumeSchedulerAndActions(void@H_403_52@);