void Slider::copySpecialProperties(Widget *widget) { Slider* slider = dynamic_cast<Slider*>(widget); if (slider) { _prevIgnoreSize = slider->_prevIgnoreSize; setScale9Enabled(slider->_scale9Enabled); auto barSprite = slider->_barRenderer->getSprite(); if (nullptr != barSprite) { loadBarTexture(barSprite->getSpriteFrame()); } auto progressSprite = slider->_progressBarRenderer->getSprite(); if (nullptr != progressSprite) { loadProgressBarTexture(progressSprite->getSpriteFrame()); } loadSlidBallTextureNormal(slider->_slidBallNormalRenderer->getSpriteFrame()); loadSlidBallTexturePressed(slider->_slidBallPressedRenderer->getSpriteFrame()); loadSlidBallTextureDisabled(slider->_slidBallDisabledRenderer->getSpriteFrame()); setPercent(slider->getPercent()); setMaxPercent(slider->getMaxPercent()); _isSliderBallPressedTextureLoaded = slider->_isSliderBallPressedTextureLoaded; _isSliderBallDisabledTexturedLoaded = slider->_isSliderBallDisabledTexturedLoaded; _sliderEventListener = slider->_sliderEventListener; _sliderEventSelector = slider->_sliderEventSelector; _eventCallback = slider->_eventCallback; _ccEventCallback = slider->_ccEventCallback; } }
void Slider::copySpecialProperties(Widget *widget) { Slider* slider = dynamic_cast<Slider*>(widget); if (slider) { _prevIgnoreSize = slider->_prevIgnoreSize; setScale9Enabled(slider->_scale9Enabled); // clone the inner sprite: https://github.com/cocos2d/cocos2d-x/issues/16928 slider->_barRenderer->copyTo(_barRenderer); setupBarTexture(); slider->_progressBarRenderer->copyTo(_progressBarRenderer); setupProgressBarTexture(); loadSlidBallTextureNormal(slider->_slidBallNormalRenderer->getSpriteFrame()); loadSlidBallTexturePressed(slider->_slidBallPressedRenderer->getSpriteFrame()); loadSlidBallTextureDisabled(slider->_slidBallDisabledRenderer->getSpriteFrame()); setPercent(slider->getPercent()); setMaxPercent(slider->getMaxPercent()); _isSliderBallPressedTextureLoaded = slider->_isSliderBallPressedTextureLoaded; _isSliderBallDisabledTexturedLoaded = slider->_isSliderBallDisabledTexturedLoaded; _sliderEventListener = slider->_sliderEventListener; _sliderEventSelector = slider->_sliderEventSelector; _eventCallback = slider->_eventCallback; _ccEventCallback = slider->_ccEventCallback; } }
void Slider::loadSlidBallTextures(const std::string& normal, const std::string& pressed, const std::string& disabled, TextureResType texType) { loadSlidBallTextureNormal(normal, texType); loadSlidBallTexturePressed(pressed,texType); loadSlidBallTextureDisabled(disabled,texType); }
void Slider::copySpecialProperties(Widget *widget) { Slider* slider = dynamic_cast<Slider*>(widget); if (slider) { _prevIgnoreSize = slider->_prevIgnoreSize; setScale9Enabled(slider->_scale9Enabled); loadBarTexture(slider->_textureFile.c_str(), slider->_barTexType); loadProgressBarTexture(slider->_progressBarTextureFile.c_str(), slider->_progressBarTexType); loadSlidBallTextureNormal(slider->_slidBallNormalTextureFile.c_str(), slider->_ballNTexType); loadSlidBallTexturePressed(slider->_slidBallPressedTextureFile.c_str(), slider->_ballPTexType); loadSlidBallTextureDisabled(slider->_slidBallDisabledTextureFile.c_str(), slider->_ballDTexType); setPercent(slider->getPercent()); } }
//滑块 void UI::initSliderView(){ auto visibleSiez=cocos2d::Director::getInstance()->getVisibleSize(); auto sl=Slider::create(); //轨道 sl->loadBarTexture("xuetiao1.png"); //覆盖轨道 sl->loadProgressBarTexture("xuetiao2.png"); sl->loadSlidBallTextureNormal("switch-thumb.png"); sl->loadSlidBallTexturePressed("switch-thumb.png"); sl->loadSlidBallTextureDisabled("switch-thumb.png"); //添加事件 sl->addEventListener(CC_CALLBACK_2(UI::SliserCall, this)); sl->setPercent(30); sl->setPosition(visibleSiez/2); addChild(sl); }
void UISlider::loadSlidBallTextures(const char* normal,const char* pressed,const char* disabled,TextureResType texType) { loadSlidBallTextureNormal(normal, texType); loadSlidBallTexturePressed(pressed,texType); loadSlidBallTextureDisabled(disabled,texType); }