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

cocos2d-X 节点(LayoutExecutant.h)API

2013-11-25 22:02 337 查看
本文来自http://blog.csdn.net/runaying ,引用必须注明出处!


cocos2d-X 节点(LayoutExecutant.h)API

温馨提醒:为了大家能更好学习,强烈推荐大家看看本人的这篇博客 Cocos2d-X权威指南笔记

绑定一个 Layout
到 LayoutExecutant. 初始化并分配一个 LayoutExecutant
///cocos2d-x-3.0alpha0/extensions/CocoStudio/GUI/Layouts
// 绑定一个 Layout 到 LayoutExecutant. 初始化并分配一个 LayoutExecutant

#ifndef __LAYOUTEXECUTANT_H__
#define __LAYOUTEXECUTANT_H__

#include "LayoutParameter.h"

NS_CC_EXT_BEGIN

typedef enum
{
LAYOUT_DEFAULT,
LAYOUT_LINEAR_VERTICAL,
LAYOUT_LINEAR_HORIZONTAL,
LAYOUT_RELATIVE
}LayoutType;

class Layout;

class LayoutExecutant : public Object
{
public:
/**
* Default constructor
*/
LayoutExecutant() : _layout(NULL){_layoutType = LAYOUT_DEFAULT;};

/**
* Default destructor
*/
virtual ~LayoutExecutant(){_layout = NULL;};

/**
* 为了做布局。需要重写。
*/
virtual void doLayout()=0;

/**
* Gets LayoutType.
*
* @see LayoutType
*
* @return LayoutType
*/
LayoutType getLayoutType(){return _layoutType;};

/**
* 绑定一个 Layout 到 LayoutExecutant.
*
* @param Layout
*/
void setLayout(Layout* layout);

/**
*获取LayoutExecutant的布局。         //执行者布局
*
* @return Layout
*/
Layout* getLayout() const;
protected:
LayoutType _layoutType;
Layout* _layout;
};

class LinearVerticalLayoutExecutant : public LayoutExecutant
{
public:
/**
* Default constructor
*/
LinearVerticalLayoutExecutant(){_layoutType = LAYOUT_LINEAR_VERTICAL;};

/**
* Default destructor
*/
virtual ~LinearVerticalLayoutExecutant(){};

/**
* Allocates and initializes.
* @return 返回一个初始化的被标记为自动释放的 LayoutExecutant
*/
static LinearVerticalLayoutExecutant* create();

//To do layout.
virtual void doLayout();
};

class LinearHorizontalLayoutExecutant : public LayoutExecutant
{
public:
/**
* Default constructor
*/
LinearHorizontalLayoutExecutant(){_layoutType = LAYOUT_LINEAR_HORIZONTAL;};

/**
* Default destructor
*/
virtual ~LinearHorizontalLayoutExecutant(){};

/**
* 分配并初始化.
* @return 返回一个初始化的被标记为自动释放的 LayoutExecutant
*/
static LinearHorizontalLayoutExecutant* create();

//To do layout.
virtual void doLayout();
};

class RelativeLayoutExecutant : public LayoutExecutant
{
public:
/**
* Default constructor
*/
RelativeLayoutExecutant(){_layoutType = LAYOUT_RELATIVE;};

/**
* Default destructor
*/
virtual ~RelativeLayoutExecutant(){};

/**
*  分配并初始化
* @return 返回一个初始化的被标记为自动释放的 LayoutExecutant
*/
static RelativeLayoutExecutant* create();

//To do layout.
virtual void doLayout();
};

NS_CC_EXT_END

#endif /* defined(__LayoutExecutant__) */
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: