Пример #1
0
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;
    }
}
Пример #2
0
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());
    }
}
Пример #3
0
//滑块
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);
}
Пример #4
0
void Slider::setScale9Enabled(bool able)
{
    if (_scale9Enabled == able)
    {
        return;
    }
    
    _scale9Enabled = able;
    CCNode::removeChild(_barRenderer, true);
    CCNode::removeChild(_progressBarRenderer, true);
    _barRenderer = NULL;
    _progressBarRenderer = NULL;
    if (_scale9Enabled)
    {
        _barRenderer = extension::CCScale9Sprite::create();
        _progressBarRenderer = extension::CCScale9Sprite::create();
    }
    else
    {
        _barRenderer = CCSprite::create();
        _progressBarRenderer = CCSprite::create();
    }
    loadBarTexture(_textureFile.c_str(), _barTexType);
    loadProgressBarTexture(_progressBarTextureFile.c_str(), _progressBarTexType);
    CCNode::addChild(_barRenderer, BASEBAR_RENDERER_Z, -1);
    CCNode::addChild(_progressBarRenderer, PROGRESSBAR_RENDERER_Z, -1);
    if (_scale9Enabled)
    {
        bool ignoreBefore = _ignoreSize;
        ignoreContentAdaptWithSize(false);
        _prevIgnoreSize = ignoreBefore;
    }
    else
    {
        ignoreContentAdaptWithSize(_prevIgnoreSize);
    }
    setCapInsetsBarRenderer(_capInsetsBarRenderer);
    setCapInsetProgressBarRebderer(_capInsetsProgressBarRenderer);
}
Пример #5
0
void Slider::setScale9Enabled(bool able)
{
    if (_scale9Enabled == able)
    {
        return;
    }
    
    _scale9Enabled = able;
    removeProtectedChild(_barRenderer);
    removeProtectedChild(_progressBarRenderer);
    _barRenderer = nullptr;
    _progressBarRenderer = nullptr;
    if (_scale9Enabled)
    {
        _barRenderer = extension::Scale9Sprite::create();
        _progressBarRenderer = extension::Scale9Sprite::create();
    }
    else
    {
        _barRenderer = Sprite::create();
        _progressBarRenderer = Sprite::create();
    }
    loadBarTexture(_textureFile, _barTexType);
    loadProgressBarTexture(_progressBarTextureFile, _progressBarTexType);
    addProtectedChild(_barRenderer, BASEBAR_RENDERER_Z, -1);
    addProtectedChild(_progressBarRenderer, PROGRESSBAR_RENDERER_Z, -1);
    if (_scale9Enabled)
    {
        bool ignoreBefore = _ignoreSize;
        ignoreContentAdaptWithSize(false);
        _prevIgnoreSize = ignoreBefore;
    }
    else
    {
        ignoreContentAdaptWithSize(_prevIgnoreSize);
    }
    setCapInsetsBarRenderer(_capInsetsBarRenderer);
    setCapInsetProgressBarRebderer(_capInsetsProgressBarRenderer);
}
Пример #6
0
void UISlider::setScale9Enabled(bool able)
{
    if (_scale9Enabled == able)
    {
        return;
    }
    
    _scale9Enabled = able;
    _renderer->removeChild(_barRenderer, true);
    _renderer->removeChild(_progressBarRenderer, true);
    _barRenderer = nullptr;
    _progressBarRenderer = nullptr;
    if (_scale9Enabled)
    {
        _barRenderer = cocos2d::extension::Scale9Sprite::create();
        _progressBarRenderer = cocos2d::extension::Scale9Sprite::create();
    }
    else
    {
        _barRenderer = cocos2d::Sprite::create();
        _progressBarRenderer = cocos2d::Sprite::create();
    }
    loadBarTexture(_textureFile.c_str(), _barTexType);
    loadProgressBarTexture(_progressBarTextureFile.c_str(), _progressBarTexType);
    _renderer->addChild(_barRenderer, -1);
    _renderer->addChild(_progressBarRenderer, -1);
    if (_scale9Enabled)
    {
        bool ignoreBefore = _ignoreSize;
        ignoreContentAdaptWithSize(false);
        _prevIgnoreSize = ignoreBefore;
    }
    else
    {
        ignoreContentAdaptWithSize(_prevIgnoreSize);
    }
    setCapInsetsBarRenderer(_capInsetsBarRenderer);
    setCapInsetProgressBarRebderer(_capInsetsProgressBarRenderer);
}
Пример #7
0
void UISlider::setScale9Enabled(bool able)
{
    if (m_bScale9Enabled == able)
    {
        return;
    }
    
    m_bScale9Enabled = able;
    m_pRenderer->removeChild(m_pBarRenderer, true);
    m_pRenderer->removeChild(m_pProgressBarRenderer, true);
    m_pBarRenderer = NULL;
    m_pProgressBarRenderer = NULL;
    if (m_bScale9Enabled)
    {
        m_pBarRenderer = CCScale9Sprite::create();
        m_pProgressBarRenderer = CCScale9Sprite::create();
    }
    else
    {
        m_pBarRenderer = CCSprite::create();
        m_pProgressBarRenderer = CCSprite::create();
    }
    loadBarTexture(m_strTextureFile.c_str(), m_eBarTexType);
    loadProgressBarTexture(m_strProgressBarTextureFile.c_str(), m_eProgressBarTexType);
    m_pRenderer->addChild(m_pBarRenderer, -1);
    m_pRenderer->addChild(m_pProgressBarRenderer, -1);
    if (m_bScale9Enabled)
    {
        bool ignoreBefore = m_bIgnoreSize;
        ignoreContentAdaptWithSize(false);
        m_bPrevIgnoreSize = ignoreBefore;
    }
    else
    {
        ignoreContentAdaptWithSize(m_bPrevIgnoreSize);
    }
    setCapInsets(m_capInsets);
}
Пример #8
0
// on "init" you need to initialize your instance
bool PageTest::init()
{
    //////////////////////////////
    // 1. super init first
    if ( !Layer::init() )
    {
        return false;
    }
    
    scheduleUpdate();
    
    percent = 0;
    
    Size visibleSize = Director::getInstance()->getVisibleSize();
    Vec2 origin = Director::getInstance()->getVisibleOrigin();
    
    
    auto loadingBar = ui::LoadingBar::create("sliderProgress.png");
    loadingBar->setTag(0);
    loadingBar->setPosition(Vec2(visibleSize.width/2, visibleSize.height/2));
    loadingBar->setPercent(percent);
    this->addChild(loadingBar);
    
    
    
    
    auto checkBox = ui::CheckBox::create("check_box_normal.png", "check_box_normal_press.png", "check_box_active.png", "check_box_normal_disable.png", "check_box_active_disable.png");
    checkBox->setPosition(Vec2(visibleSize.width / 2.0f, visibleSize.height - 100));
    checkBox->addEventListener(CC_CALLBACK_2(PageTest::selectedEvent, this));
    this->addChild(checkBox);
    
    
    auto slider = ui::Slider::create();
    slider->loadBarTexture("sliderTrack.png");
    slider->loadSlidBallTextures("sliderThumb.png", "sliderThumb.png", "");
    slider->loadProgressBarTexture("sliderProgress.png");
    slider->setPosition(Vec2(visibleSize.width / 2.0f, visibleSize.height - 200));
    slider->addEventListener(CC_CALLBACK_2(PageTest::sliderEvent, this));
    this->addChild(slider);
    
    

    
    // auto recustom = ui::RichElementCustomNode::create(1, Color3B::WHITE, 255, pAr);
    // richText->pushBackElement(recustom);
    
    
    // androidだとバックグランドが緑がデフォ?
    // androidだと盤面全体が背景白になる
    // http://discuss.cocos2d-x.org/t/ui-pageview-bug-with-v3-rc1-green-background-on-android/12897
    //
    auto layout = ui::Layout::create();
    layout->setSize(Size(visibleSize.width, 200.0f));
    layout->setPosition(Vec2::ZERO);
    layout->setBackGroundColorType(ui::Layout::BackGroundColorType::SOLID);
    layout->setBackGroundColor(Color3B::BLUE);
    this->addChild(layout);
    
    auto pageView = ui::PageView::create();
    /*
    pageView->setBackGroundColorType(ui::Layout::BackGroundColorType::SOLID);
    pageView->setBackGroundColor(Color3B::RED);
    */
    pageView->setSize(Size(visibleSize.width, 130.0f));
    pageView->setPosition(Vec2::ZERO);
    pageView->setContentSize(Size(visibleSize.width, 130.0f));
    
    for (int i = 0; i < 3; ++i) {
        auto layout = ui::Layout::create();
        layout->setBackGroundImage("");
        layout->setBackGroundColor(Color3B::YELLOW);
        layout->setBackGroundColorType(ui::Layout::BackGroundColorType::SOLID);
        layout->setSize(Size(240.0f, 130.0f));
        // layout->addTouchEventListener(<#ccWidgetTouchCallback callback#>)

        
        auto imageView = ui::ImageView::create("HelloWorld.png");
        imageView->setScale9Enabled(true);
        imageView->setSize(Size(240, 130));
        imageView->setPosition(Vec2(layout->getSize().width / 2.0f, layout->getSize().height / 2.0f));
        layout->addChild(imageView);
        
        auto label = ui::Text::create(StringUtils::format("page %d",(i+1)), "Arial", 30);
        label->setColor(Color3B(192, 192, 192));
        label->setPosition(Vec2(layout->getSize().width / 2.0f, layout->getSize().height / 2.0f));
        layout->addChild(label);
        
        auto btn = ui::Button::create("");
        btn->setTitleText("");
        btn->setTitleFontSize(12);
        btn->setTitleFontName("");

        
        
        pageView->addPage(layout);
    }
    // pageView->scrollToPage(2);  // うまくいかない。handleReleaseLogicのboundaryのためだと思われる
    pageView->addEventListener(CC_CALLBACK_2(PageTest::pageViewEvent, this));
    
    
    layout->addChild(pageView);
    
    
    auto richText = ui::RichText::create();
    richText->ignoreContentAdaptWithSize(false);
    richText->setSize(Size(100, 100));
    richText->setPosition(Vec2(visibleSize.width / 2.0f, visibleSize.height - 300));
    this->addChild(richText);
    
    auto re1 = ui::RichElementText::create(1, Color3B::WHITE, 255, "This color is white. ", "Arial", 10);
    richText->pushBackElement(re1);
    
    auto re2 = ui::RichElementText::create(2, Color3B::YELLOW, 255, "This color is yellow. ", "Arial", 24);
    richText->insertElement(re2, 1);
    
    auto reimg = ui::RichElementImage::create(6, Color3B::WHITE, 255, "sliderballnormal.png");
    richText->pushBackElement(reimg);

    
    return true;
}