本文来自http://blog.csdn.net/runaying ,引用必须注明出处!
cocos2d-X 节点(UICheckBox.h)API
温馨提醒:为了大家能更好学习,强烈推荐大家看看本人的这篇博客 Cocos2d-X权威指南笔记
///cocos2d-x-3.0alpha0/extensions/CocoStudio/GUI/UIWidgets
#ifndef __UICHECKBOX_H__
#define __UICHECKBOX_H__
#include "../BaseClasses/UIWidget.h"
NS_CC_EXT_BEGIN
typedef enum
{
CHECKBOX_STATE_EVENT_SELECTED,
CHECKBOX_STATE_EVENT_UNSELECTED
}CheckBoxEventType;
typedef void (CCObject::*SEL_SelectedStateEvent)(Object*,CheckBoxEventType);
#define checkboxselectedeventselector(_SELECTOR) (cocos2d::extension::SEL_SelectedStateEvent)(&_SELECTOR)
class UICheckBox : public UIWidget
{
public:
/**
* Default constructor
*/
UICheckBox();
/**
* Default destructor
*/
virtual ~UICheckBox();
/**
* Allocates and initializes.
*/
static UICheckBox* create();
/**
* Load textures for checkbox. //为 checkbox 加载 textures
*
* @param backGround backGround texture.
*
* @param backGroundSelected backGround selected state texture.
*
* @param cross cross texture.
*
* @param frontCrossDisabled cross dark state texture.
*
* @param texType @see UI_TEX_TYPE_LOCAL
*/
void loadTextures(const char* backGround,const char* backGroundSelected,const char* cross,const char* backGroundDisabled,const char* frontCrossDisabled,TextureResType texType = UI_TEX_TYPE_LOCAL);
/**
* Load backGround texture for checkbox. //为 checkbox 加载 背景 texture
*
* @param backGround backGround texture.
*
* @param texType @see UI_TEX_TYPE_LOCAL
*/
void loadTextureBackGround(const char* backGround,TextureResType type = UI_TEX_TYPE_LOCAL);
/**
* Load backGroundSelected texture for checkbox. //为 checkbox 加载 选择状态下的 texture
*
* @param backGroundSelected backGround selected state texture.
*
* @param texType @see UI_TEX_TYPE_LOCAL
*/
void loadTextureBackGroundSelected(const char* backGroundSelected,TextureResType texType = UI_TEX_TYPE_LOCAL);
/**
* Load cross texture for checkbox. //为 checkbox 加载 backGroundDisabled 状态下的 texture
*
* @param cross cross texture.
*
* @param texType @see UI_TEX_TYPE_LOCAL
*/
void loadTextureFrontCross(const char* cross,TextureResType texType = UI_TEX_TYPE_LOCAL);
/**
* Load backGroundDisabled texture for checkbox. //为 checkbox 加载 backGroundDisabled 状态下的 texture
*
* @param backGroundDisabled backGroundDisabled texture.
*
* @param texType @see UI_TEX_TYPE_LOCAL
*/
void loadTextureBackGroundDisabled(const char* backGroundDisabled,TextureResType texType = UI_TEX_TYPE_LOCAL);
/**
* Load frontCrossDisabled texture for checkbox. //为 checkbox 加载 frontCrossDisabled 状态下的 texture
*
* @param frontCrossDisabled frontCrossDisabled texture.
*
* @param texType @see UI_TEX_TYPE_LOCAL
*/
void loadTextureFrontCrossDisabled(const char* frontCrossDisabled,TextureResType texType = UI_TEX_TYPE_LOCAL);
/**
* Sets selcted state for checkbox. //设置 checkbox 的选择状态
*
* @param selected true that checkbox is selected, false otherwise.
*/
void setSelectedState(bool selected);
/**
* Gets selcted state of checkbox. //获取 checkbox 的选择状态
*
* @return selected true that checkbox is selected, false otherwise.
*/
bool getSelectedState();
//override "setAnchorPoint" method of widget.
virtual void setAnchorPoint(const Point &pt);
// 添加一个回调函数,当 checkbox 选择或非选择 状态下调用
void addEventListener(Object* target,SEL_SelectedStateEvent selector);
//override "setFlipX" method of widget.
virtual void setFlipX(bool flipX);
//override "setFlipY" method of widget.
virtual void setFlipY(bool flipY);
//override "isFlipX" method of widget.
virtual bool isFlipX();
//override "isFlipY" method of widget.
virtual bool isFlipY();
//override "onTouchEnded" method of widget.
virtual void onTouchEnded(const Point &touchPoint);
//override "getContentSize" method of widget.
virtual const Size& getContentSize() const;
//override "getVirtualRenderer" method of widget.
virtual Node* getVirtualRenderer();
/**
* Returns the "class name" of widget. //返回 widget的 名字
*/
virtual const char* getDescription() const;
protected:
virtual bool init();
virtual void initRenderer();
virtual void onPressStateChangedToNormal();
virtual void onPressStateChangedToPressed();
virtual void onPressStateChangedToDisabled();
void selectedEvent();
void unSelectedEvent();
virtual void onSizeChanged();
void backGroundTextureScaleChangedWithSize();
void backGroundSelectedTextureScaleChangedWithSize();
void frontCrossTextureScaleChangedWithSize();
void backGroundDisabledTextureScaleChangedWithSize();
void frontCrossDisabledTextureScaleChangedWithSize();
protected:
Sprite* _backGroundBoxRenderer;
Sprite* _backGroundSelectedBoxRenderer;
Sprite* _frontCrossRenderer;
Sprite* _backGroundBoxDisabledRenderer;
Sprite* _frontCrossDisabledRenderer;
bool _isSelected;
Object* _selectedStateEventListener;
SEL_SelectedStateEvent _selectedStateEventSelector;
TextureResType _backGroundTexType;
TextureResType _backGroundSelectedTexType;
TextureResType _frontCrossTexType;
TextureResType _backGroundDisabledTexType;
TextureResType _frontCrossDisabledTexType;
};
NS_CC_EXT_END
#endif /* defined(__CocoGUI__UICheckBox__) */