介绍
节点是场景图的基础元素。
Node类继承自Ref类。
场景图的元素必须是Node对象或它的子类。最常见的Node对象是:Scene,Layer,Sprite,Menu,Label。
节点的主要特征是:
- 它们可以包含其他节点的对象(addChild,getChildByTag,removeChild等)
- 他们可以安排定期的回调(schedule,unschedule,等)
- 他们可以执行动作(runAction,stopAction,等)
函数解读:
- public functions
//返回节点是否活动。如果是running,它将会允许事件回调就像onEnter()、onExit()、update()
virtual bool isRunning() const;
//为lua导出的接口。可以延迟执行回调
void scheduleUpdateWithPriorityLua(int handler,int priority);
//暂停所有活动着的动作和调度器。被 ProtectedNode 和 TransitionScene 重载
virtual void cleanup();
//绘制节点
virtual void draw(Renderer* renderer,const Mat4 &transform,bool transformUpdated);
//访问节点的孩子,并且循环递归的绘制它们。
virtual void visit(Renderer* renderer,const Mat4 &parentTransform,bool parentTransformUpdated);
//返回包含Node节点的Scene,如果这个节点不属于任何场景,返回nullptr。
//这个函数循环调用parent->getScene(),直到父类是一个Scene对象。被Scene重载。
virtual Scene* getScene();
//返回一个AABB(轴向包围盒)在它的父坐标系中
virtual Rect getBoundingBox() const;
//注册监听事件
virtual void setEventDispatcher(EventDispatcher* dispatcher);
//获取事件监听
virtual EventDispatcher* getEventDispatcher() const;
//获取不透明度
virtual GLubyte getOpacity() const;
//设置不透明度
virtual void setOpacity(GLubyte opacity);
//获取节点显示在屏幕上的不透明度
virtual GLubyte getDisplayedOpacity() const
//设置节点显示在屏幕上的不透明度
virtual void updateDisplayOpacity(GLubyte parentOpacity)
//设置子节点不透明度是否跟随变化 true:跟随变化 false:不跟随变化
virtual void setCascadeOpacityEnabled(bool cascadeOpacityEnabled)
//获取子节点不透明度是否跟随变化
virtual bool isCascadeOpacityEnabled () const
- Setters & Getters for Graphic Properties functions 图形属性的设置器和获取器函
//LocalZOrder是用于对节点相对于其同级进行排序的“关键字”。
//两个节点具有相同的LocalZOrder,则首先添加到子级数组中的节点将位于数组中另一个节点的前面。
vitrual void setLocalZOrder(int localZOrder)
//获取localZOrder的值
virtual int getLocalZOrder () const
//设置节点渲染器的顺序,globalZorder越小的节点最先渲染。
/