对Layer的理解
/cocos2d-x-3.0alpha0/extensions/CocoStudio/GUI/System
// 获取 UIInputManager,添加/移除 widget ,设置 UILayer 的可见 性
#ifndef __UILAYER_H__
#define __UILAYER_H__
#include "cocos2d.h"
#include "ExtensionMacros.h"
#include "../BaseClasses/UIRootWidget.h"
#include "../System/UIInputManager.h"
NS_CC_EXT_BEGIN
class UILayer : public Layer
{
public:
/**
* Default constructor
*/
UILayer();
/**
* Default destructor
*/
virtual ~UILayer();
/**
* Allocates and initializes a widget.
*/
static UILayer *create(void);
//initializes state of uilayer. //初始化 uilayer 的状态
virtual bool init();
virtual void onEnter();
virtual void onExit();
virtual void onEnterTransitionDidFinish();
virtual bool onTouchBegan(Touch *pTouch, Event *pEvent);
virtual void onTouchMoved(Touch *pTouch, Event *pEvent);
virtual void onTouchEnded(Touch *pTouch, Event *pEvent);
virtual void onTouchCancelled(Touch *pTouch, Event *pEvent);
/**
* Add a widget to UILayer, for drawing. //为绘制添加一个 eidget 到 UILayer
*
* @param widget.
*/
void addWidget(UIWidget* widget);
/**
* Remove a widget from UILayer.
*
* @param widget.
*
* @param cleanup true 所有 children widgets 运行的 所有 action 都将 删除, false otherwise.
*/
void removeWidget(UIWidget* widget);
/**
* Sets whether the UILayer is visible 可见
*
* 默认值是 true ,默认可见
*
* @param visible true if the UILayer is visible, false if the UILayer is hidden.
*/
virtual void setVisible(bool visible);
/**
* Finds a widget whose tag is equal tag param from widget tree. //从 widget 树上查找 tag 等于输入参数的 widget
*
* @param tag.
*/
UIWidget* getWidgetByTag(int tag);
/**
* Seek a widget whose name is equal name param from widget tree. //从 widget 树上查找 name 等于输入参数的 widget
*
* @param name.
*/
UIWidget* getWidgetByName(const char* name);
/**
* Gets UIInputManager.
*
* UIInputManager 管理 UILayer 的触摸.
*
* @return UIInputManager.
*/
UIInputManager* getInputManager();
/**
* Remove and clean up all of UILayer's widget. //移除并清理所有的 UILayer's widget.
*/
virtual void clear();
/**
* Gets root widget of UILayer.
*
* @return UIRootWidget, "UIRootWidget" is the root widget of UILayer.
*/
UIRootWidget* getRootWidget();
protected:
UIRootWidget* _rootWidget;
UIInputManager* _inputManager;
};
NS_CC_EXT_END
#endif /* defined(__UILAYER_H__) */