本文来自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_BEGIN typedef 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__) */