本文来自http://blog.csdn.net/runaying ,引用必须注明出处!
cocos2d-X 节点(UISlider.h)API
温馨提醒:为了大家能更好学习,强烈推荐大家看看本人的这篇博客 Cocos2d-X权威指南笔记
///cocos2d-x-3.0alpha0/extensions/CocoStudio/GUI/UIWidgets#ifndef __UISLIDER_H__
#define __UISLIDER_H__#include "../BaseClasses/UIWidget.h"NS_CC_EXT_BEGINtypedef enum
{SLIDER_PERCENTCHANGED
}SliderEventType;typedef void (CCObject::*SEL_SlidPercentChangedEvent)(Object*,SliderEventType);
#define sliderpercentchangedselector(_SELECTOR) (SEL_SlidPercentChangedEvent)(&_SELECTOR)class UISlider : public UIWidget
{
public:/*** Default constructor*/UISlider();/*** Default destructor*/virtual ~UISlider();/*** Allocates and initializes.*/static UISlider* create();/*** Load texture for slider bar.** @param fileName file name of texture.** @param texType @see UI_TEX_TYPE_LOCAL*/void loadBarTexture(const char* fileName,TextureResType texType = UI_TEX_TYPE_LOCAL);/*** Sets if slider(滑块) is using scale9 renderer. //渲染** @param true that using scale9 renderer, false otherwise. //渲染*/void setScale9Enabled(bool able);/*** Sets capinsets for slider(滑块), if slider(滑块) is using scale9 renderer. //渲染** @param capInsets capinsets for slider(滑块)*/void setCapInsets(const Rect &capInsets);/*** Sets capinsets for slider(滑块), if slider(滑块) is using scale9 renderer.** @param capInsets capinsets for slider*/void setCapInsetsBarRenderer(const Rect &capInsets);/*** Sets capinsets for slider(滑块), if slider is using scale9 renderer.** @param capInsets capinsets for slider*/void setCapInsetProgressBarRebderer(const Rect &capInsets);/*** Load textures for slider(滑块) ball.** @param slider ball normal normal state texture.** @param slider ball selected selected state texture.** @param slider ball disabled dark state texture.** @param texType @see UI_TEX_TYPE_LOCAL*/void loadSlidBallTextures(const char* normal,const char* pressed,const char* disabled,TextureResType texType = UI_TEX_TYPE_LOCAL);/*** Load normal state texture for slider(滑块) ball.** @param normal normal state texture.** @param texType @see UI_TEX_TYPE_LOCAL*/void loadSlidBallTextureNormal(const char* normal,TextureResType texType = UI_TEX_TYPE_LOCAL);/*** Load selected state texture for slider(滑块) ball.** @param selected selected state texture.** @param texType @see UI_TEX_TYPE_LOCAL*/void loadSlidBallTexturePressed(const char* pressed,TextureResType texType = UI_TEX_TYPE_LOCAL);/*** Load dark state texture for slider(滑块) ball.** @param disabled dark state texture.** @param texType @see UI_TEX_TYPE_LOCAL*/void loadSlidBallTextureDisabled(const char* disabled,TextureResType texType = UI_TEX_TYPE_LOCAL);/*** Load dark state texture for slider(滑块) progress bar.** @param fileName file path of texture.** @param texType @see UI_TEX_TYPE_LOCAL*/void loadProgressBarTexture(const char* fileName, TextureResType texType = UI_TEX_TYPE_LOCAL);/*** Changes the progress direction of slider(滑块).** @param percent percent value from 1 to 100.*/void setPercent(int percent);/*** Gets the progress direction of slider(滑块).** @return percent percent value from 1 to 100.*/int getPercent();/*** Add call back function called when slider's percent has changed to slider(滑块). //滑块 移动时的回调函数*/void addEventListener(Object* target,SEL_SlidPercentChangedEvent selector);//override "onTouchBegan" method of widget.virtual bool onTouchBegan(const Point &touchPoint);//override "onTouchMoved" method of widget.virtual void onTouchMoved(const Point &touchPoint);//override "onTouchEnded" method of widget.virtual void onTouchEnded(const Point &touchPoint);//override "onTouchCancelled" method of widget.virtual void onTouchCancelled(const Point &touchPoint);//override "getContentSize" method of widget.virtual const Size& getContentSize() const;//override "getVirtualRenderer" method of widget.virtual Node* getVirtualRenderer();//override "ignoreContentAdaptWithSize" method of widget.virtual void ignoreContentAdaptWithSize(bool ignore);/*** Returns the "class name" of widget. //返回 widget的 名字*/virtual const char* getDescription() const;
protected:virtual void initRenderer();float getPercentWithBallPos(float location);void percentChangedEvent();virtual void onPressStateChangedToNormal();virtual void onPressStateChangedToPressed();virtual void onPressStateChangedToDisabled();virtual void onSizeChanged();void barRendererScaleChangedWithSize();void progressBarRendererScaleChangedWithSize();
protected:Node* _barRenderer;Node* _progressBarRenderer;Size _progressBarTextureSize;Sprite* _slidBallNormalRenderer;Sprite* _slidBallPressedRenderer;Sprite* _slidBallDisabledRenderer;Node* _slidBallRenderer;float _barLength;int _percent;bool _scale9Enabled;bool _prevIgnoreSize;std::string _textureFile;std::string _progressBarTextureFile;std::string _slidBallNormalTextureFile;std::string _slidBallPressedTextureFile;std::string _slidBallDisabledTextureFile;Rect _capInsetsBarRenderer;Rect _capInsetsProgressBarRenderer;Object* _slidPercentListener;SEL_SlidPercentChangedEvent _slidPercentSelector;TextureResType _barTexType;TextureResType _progressBarTexType;TextureResType _ballNTexType;TextureResType _ballPTexType;TextureResType _ballDTexType;
};NS_CC_EXT_END#endif /* defined(__CocoGUI__UISlider__) */