本文来自http://blog.csdn.net/runaying ,引用必须注明出处!
cocos2d-X 节点(UIWidget.h)API
温馨提醒:为了大家能更好学习,强烈推荐大家看看本人的这篇博客 Cocos2d-X权威指南笔记
/widget 的基类多数 UI 控件都是它的子类,通常情况我们不会直接使用它,而是使用他的子类,它实现了 修改 发光类型,触摸事件的回调,尺寸改变时的回调,可见性,绘制顺序,在 parent widget的位置,缩放,长 clicked .....
/cocos2d-x-3.0alpha0/extensions/CocoStudio/GUI/BaseClasses
//widget 的基类 多数 UI 控件 都是它的子类,通常情况我们不会直接使用它,而是使用他的子类,它实现了 修改 发光类型,触摸事件的回调,尺寸改变时的回调,可见性,绘制顺序,在 parent widget 的位置,缩放,长 clicked .....
#ifndef __UIWIDGET_H__
#define __UIWIDGET_H__
#include "cocos2d.h"
#include "ExtensionMacros.h"
#include "../Layouts/UILayoutDefine.h"
#include "../Layouts/LayoutParameter.h"
NS_CC_EXT_BEGIN
//亮度类型
typedef enum
{
BRIGHT_NONE = -1,
BRIGHT_NORMAL,
BRIGHT_HIGHLIGHT
}BrightStyle;
//widget 类型
typedef enum
{
WidgetTypeWidget, //control
WidgetTypeContainer //container
}WidgetType;
// texture 分辨率类型
typedef enum
{
UI_TEX_TYPE_LOCAL,
UI_TEX_TYPE_PLIST
}TextureResType;
//触摸事件类型
typedef enum
{
TOUCH_EVENT_BEGAN,
TOUCH_EVENT_MOVED,
TOUCH_EVENT_ENDED,
TOUCH_EVENT_CANCELED
}TouchEventType;
//尺寸类型
typedef enum
{
SIZE_ABSOLUTE,
SIZE_PERCENT
}SizeType;
//位置类型
typedef enum
{
POSITION_ABSOLUTE,
POSITION_PERCENT
}PositionType;
typedef void (Object::*SEL_TouchEvent)(Object*,TouchEventType);
#define toucheventselector(_SELECTOR) (cocos2d::extension::SEL_TouchEvent)(&_SELECTOR)
//class UILayer;
/*temp action*/
class UIActionNode;
class UIWidget : public Object
{
public:
/**
* Default constructor
*/
UIWidget(void);
/**
* Default destructor
*/
virtual ~UIWidget();
/**
* 分配并初始化一个widget。
*/
static UIWidget* create();
/**
* 设置是否启用 widget
*
* Highest(最高) control of widget.
* 默认值是 true, widget 默认为启用
*
* @param enabled true 如果 widget 启用了, widget 是可见的,可以被触摸, false 如果 widget 禁用了 widget 会被隐藏,不可以被触摸.
*/
virtual void setEnabled(bool enabled);
/**
* 确定 widget 是否启用了
*
* @return true if the widget is enabled, false if the widget is disabled.
*/
bool isEnabled() const;
/**
* 设置 widget 是否可见
*
*默认值是 true, widget 默认是可见的
*
* @param visible true if the widget is visible, false if the widget is hidden.
*/
void setVisible(bool visible);
/**
* 确定 widget 是否可见
*
* @return true if the widget is visible, false if the widget is hidden.
*/
bool isVisible() const;
/**
* 设置widget 是否是否发光
*
* 默认值是true, widget 默认会发光
*
* @param visible true if the widget is bright, false if the widget is dark.
*/
void setBright(bool bright);
/**
* 确定 widget 是否是否发光
*
* @return true if the widget is bright, false if the widget is dark.
*/