void ImageView::setScale9Enabled(bool able) { if (_scale9Enabled == able) { return; } _scale9Enabled = able; Node::removeChild(_imageRenderer); _imageRenderer = nullptr; if (_scale9Enabled) { _imageRenderer = extension::Scale9Sprite::create(); } else { _imageRenderer = Sprite::create(); } loadTexture(_textureFile.c_str(),_imageTexType); Node::addChild(_imageRenderer, IMAGE_RENDERER_Z, -1); if (_scale9Enabled) { bool ignoreBefore = _ignoreSize; ignoreContentAdaptWithSize(false); _prevIgnoreSize = ignoreBefore; } else { ignoreContentAdaptWithSize(_prevIgnoreSize); } setCapInsets(_capInsets); }
void Button::setScale9Enabled(bool able) { if (_scale9Enabled == able) { return; } _scale9Enabled = able; _buttonNormalRenderer->setScale9Enabled(_scale9Enabled); _buttonClickedRenderer->setScale9Enabled(_scale9Enabled); _buttonDisableRenderer->setScale9Enabled(_scale9Enabled); if (_scale9Enabled) { bool ignoreBefore = _ignoreSize; ignoreContentAdaptWithSize(false); _prevIgnoreSize = ignoreBefore; } else { ignoreContentAdaptWithSize(_prevIgnoreSize); } setCapInsetsNormalRenderer(_capInsetsNormal); setCapInsetsPressedRenderer(_capInsetsPressed); setCapInsetsDisabledRenderer(_capInsetsDisabled); _brightStyle = BrightStyle::NONE; setBright(_bright); }
void UIButton::setScale9Enabled(bool able) { if (m_bScale9Enabled == able) { return; } m_eBrightStyle = BRIGHT_NONE; m_bScale9Enabled = able; m_pRenderer->removeChild(m_pButtonNormalRenderer, true); m_pRenderer->removeChild(m_pButtonClickedRenderer, true); m_pRenderer->removeChild(m_pButtonDisableRenderer, true); m_pButtonNormalRenderer = NULL; m_pButtonClickedRenderer = NULL; m_pButtonDisableRenderer = NULL; if (m_bScale9Enabled) { m_pButtonNormalRenderer = CCScale9Sprite::create(); m_pButtonClickedRenderer = CCScale9Sprite::create(); m_pButtonDisableRenderer = CCScale9Sprite::create(); } else { m_pButtonNormalRenderer = CCSprite::create(); m_pButtonClickedRenderer = CCSprite::create(); m_pButtonDisableRenderer = CCSprite::create(); } loadTextureNormal(m_strNormalFileName.c_str(), m_eNormalTexType); loadTexturePressed(m_strClickedFileName.c_str(), m_ePressedTexType); loadTextureDisabled(m_strDisabledFileName.c_str(), m_eDisabledTexType); m_pRenderer->addChild(m_pButtonNormalRenderer,NORMALRENDERERZ); m_pRenderer->addChild(m_pButtonClickedRenderer,PRESSEDRENDERERZ); m_pRenderer->addChild(m_pButtonDisableRenderer,DISABLEDRENDERERZ); if (m_bScale9Enabled) { bool ignoreBefore = m_bIgnoreSize; ignoreContentAdaptWithSize(false); m_bPrevIgnoreSize = ignoreBefore; } else { ignoreContentAdaptWithSize(m_bPrevIgnoreSize); } setCapInsetsNormalRenderer(m_capInsetsNormal); setCapInsetsPressedRenderer(m_capInsetsPressed); setCapInsetsDisabledRenderer(m_capInsetsDisabled); setBright(m_bBright); }
void UIButton::setScale9Enabled(bool able) { if (_scale9Enabled == able) { return; } _brightStyle = BRIGHT_NONE; _scale9Enabled = able; _renderer->removeChild(_buttonNormalRenderer, true); _renderer->removeChild(_buttonClickedRenderer, true); _renderer->removeChild(_buttonDisableRenderer, true); _buttonNormalRenderer = NULL; _buttonClickedRenderer = NULL; _buttonDisableRenderer = NULL; if (_scale9Enabled) { _buttonNormalRenderer = Scale9Sprite::create(); _buttonClickedRenderer = Scale9Sprite::create(); _buttonDisableRenderer = Scale9Sprite::create(); } else { _buttonNormalRenderer = CCSprite::create(); _buttonClickedRenderer = CCSprite::create(); _buttonDisableRenderer = CCSprite::create(); } loadTextureNormal(_normalFileName.c_str(), _normalTexType); loadTexturePressed(_clickedFileName.c_str(), _pressedTexType); loadTextureDisabled(_disabledFileName.c_str(), _disabledTexType); _renderer->addChild(_buttonNormalRenderer,NORMALRENDERERZ); _renderer->addChild(_buttonClickedRenderer,PRESSEDRENDERERZ); _renderer->addChild(_buttonDisableRenderer,DISABLEDRENDERERZ); if (_scale9Enabled) { bool ignoreBefore = _ignoreSize; ignoreContentAdaptWithSize(false); _prevIgnoreSize = ignoreBefore; } else { ignoreContentAdaptWithSize(_prevIgnoreSize); } setCapInsetsNormalRenderer(_capInsetsNormal); setCapInsetsPressedRenderer(_capInsetsPressed); setCapInsetsDisabledRenderer(_capInsetsDisabled); setBright(_bright); }
void Button::setScale9Enabled(bool able) { if (_scale9Enabled == able) { return; } _brightStyle = BrightStyle::NONE; _scale9Enabled = able; removeProtectedChild(_buttonNormalRenderer); removeProtectedChild(_buttonClickedRenderer); removeProtectedChild(_buttonDisableRenderer); _buttonNormalRenderer = nullptr; _buttonClickedRenderer = nullptr; _buttonDisableRenderer = nullptr; if (_scale9Enabled) { _buttonNormalRenderer = extension::Scale9Sprite::create(); _buttonClickedRenderer = extension::Scale9Sprite::create(); _buttonDisableRenderer = extension::Scale9Sprite::create(); } else { _buttonNormalRenderer = Sprite::create(); _buttonClickedRenderer = Sprite::create(); _buttonDisableRenderer = Sprite::create(); } loadTextureNormal(_normalFileName, _normalTexType); loadTexturePressed(_clickedFileName, _pressedTexType); loadTextureDisabled(_disabledFileName, _disabledTexType); addProtectedChild(_buttonNormalRenderer, NORMAL_RENDERER_Z, -1); addProtectedChild(_buttonClickedRenderer, PRESSED_RENDERER_Z, -1); addProtectedChild(_buttonDisableRenderer, DISABLED_RENDERER_Z, -1); if (_scale9Enabled) { bool ignoreBefore = _ignoreSize; ignoreContentAdaptWithSize(false); _prevIgnoreSize = ignoreBefore; } else { ignoreContentAdaptWithSize(_prevIgnoreSize); } setCapInsetsNormalRenderer(_capInsetsNormal); setCapInsetsPressedRenderer(_capInsetsPressed); setCapInsetsDisabledRenderer(_capInsetsDisabled); setBright(_bright); }
bool UIButtonIgnoreContentSizeTest::init() { if (UIScene::init()) { Size widgetSize = _widget->getContentSize(); // Add a label in which the button events will be displayed _displayValueLabel = Text::create("Button IgnoreContent Size Test", "fonts/Marker Felt.ttf",32); _displayValueLabel->setAnchorPoint(Vec2(0.5f, -1.0f)); _displayValueLabel->setPosition(Vec2(widgetSize.width / 2.0f, widgetSize.height / 2.0f + 20)); _uiLayer->addChild(_displayValueLabel); // Create the button auto button = Button::create("cocosui/animationbuttonnormal.png", "cocosui/animationbuttonpressed.png"); button->ignoreContentAdaptWithSize(false); button->setContentSize(Size(200,100)); button->setNormalizedPosition(Vec2(0.3f, 0.5f)); button->setTitleText("PLAY GAME"); button->setZoomScale(0.3f); button->setPressedActionEnabled(true); button->addClickEventListener([=](Ref* sender) { CCLOG("clicked!"); button->setScale(1.2f); }); _uiLayer->addChild(button); // Create the button auto button2 = Button::create("cocosui/animationbuttonnormal.png", "cocosui/animationbuttonpressed.png"); button2->ignoreContentAdaptWithSize(false); button2->setContentSize(Size(200,100)); button2->setNormalizedPosition(Vec2(0.8f, 0.5f)); button2->setTitleText("PLAY GAME"); button2->setZoomScale(0.3f); button2->setPressedActionEnabled(true); button2->addClickEventListener([=](Ref* sender) { button2->runAction(ScaleTo::create(1.0f, 1.2f)); CCLOG("clicked!"); }); _uiLayer->addChild(button2); return true; } return false; }
bool ScrollButton::init() { if(UIWidget::init()) { ignoreContentAdaptWithSize(false); setTouchEnabled(true); return true; } return false; }
void Button::setScale9Enabled(bool able) { if (_scale9Enabled == able) { return; } _scale9Enabled = able; if (_scale9Enabled) { _buttonNormalRenderer->setRenderingType(Scale9Sprite::RenderingType::SLICE); _buttonClickedRenderer->setRenderingType(Scale9Sprite::RenderingType::SLICE); _buttonDisabledRenderer->setRenderingType(Scale9Sprite::RenderingType::SLICE); }else{ _buttonNormalRenderer->setRenderingType(Scale9Sprite::RenderingType::SIMPLE); _buttonClickedRenderer->setRenderingType(Scale9Sprite::RenderingType::SIMPLE); _buttonDisabledRenderer->setRenderingType(Scale9Sprite::RenderingType::SIMPLE); } if (_scale9Enabled) { bool ignoreBefore = _ignoreSize; ignoreContentAdaptWithSize(false); _prevIgnoreSize = ignoreBefore; } else { ignoreContentAdaptWithSize(_prevIgnoreSize); } setCapInsetsNormalRenderer(_capInsetsNormal); setCapInsetsPressedRenderer(_capInsetsPressed); setCapInsetsDisabledRenderer(_capInsetsDisabled); _brightStyle = BrightStyle::NONE; setBright(_bright); _normalTextureAdaptDirty = true; _pressedTextureAdaptDirty = true; _disabledTextureAdaptDirty = true; }
bool Layout::init() { if (Widget::init()) { ignoreContentAdaptWithSize(false); setContentSize(Size::ZERO); setAnchorPoint(Vec2::ZERO); onPassFocusToChild = CC_CALLBACK_2(Layout::findNearestChildWidgetIndex, this); return true; } return false; }
bool Widget::init() { if (ProtectedNode::init()) { initRenderer(); setBright(true); ignoreContentAdaptWithSize(true); setAnchorPoint(Vec2(0.5f, 0.5f)); return true; } return false; }
void LoadingBar::setScale9Enabled(bool enabled) { if (_scale9Enabled == enabled) { return; } _scale9Enabled = enabled; _barRenderer->setScale9Enabled(_scale9Enabled); if (_scale9Enabled) { bool ignoreBefore = _ignoreSize; ignoreContentAdaptWithSize(false); _prevIgnoreSize = ignoreBefore; } else { ignoreContentAdaptWithSize(_prevIgnoreSize); } setCapInsets(_capInsets); setPercent(_percent); }
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); }
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); }
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); }
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); }
void ImageView::setScale9Enabled(bool able) { if (_scale9Enabled == able) { return; } _scale9Enabled = able; _imageRenderer->setScale9Enabled(_scale9Enabled); if (_scale9Enabled) { bool ignoreBefore = _ignoreSize; ignoreContentAdaptWithSize(false); _prevIgnoreSize = ignoreBefore; } else { ignoreContentAdaptWithSize(_prevIgnoreSize); } setCapInsets(_capInsets); }
bool Widget::init() { if (Node::init()) { initRenderer(); setCascadeColorEnabled(true); setCascadeOpacityEnabled(true); setBright(true); ignoreContentAdaptWithSize(true); setAnchorPoint(Point(0.5f, 0.5f)); return true; } return false; }
void LoadingBar::setScale9Enabled(bool enabled) { if (_scale9Enabled == enabled) { return; } _scale9Enabled = enabled; _barRenderer->setScale9Enabled(_scale9Enabled); if (_scale9Enabled) { bool ignoreBefore = _ignoreSize; ignoreContentAdaptWithSize(false); _prevIgnoreSize = ignoreBefore; } else { ignoreContentAdaptWithSize(_prevIgnoreSize); } setCapInsets(_capInsets); this->updateProgressBar(); _barRendererAdaptDirty = true; }
void Slider::setScale9Enabled(bool able) { if (_scale9Enabled == able) { return; } _scale9Enabled = able; _barRenderer->setScale9Enabled(_scale9Enabled); _progressBarRenderer->setScale9Enabled(_scale9Enabled); if (_scale9Enabled) { bool ignoreBefore = _ignoreSize; ignoreContentAdaptWithSize(false); _prevIgnoreSize = ignoreBefore; } else { ignoreContentAdaptWithSize(_prevIgnoreSize); } setCapInsetsBarRenderer(_capInsetsBarRenderer); setCapInsetProgressBarRebderer(_capInsetsProgressBarRenderer); }
bool Widget::init() { if (ProtectedNode::init()) { initRenderer(); setBright(true); onFocusChanged = CC_CALLBACK_2(Widget::onFocusChange,this); onNextFocusedWidget = nullptr; this->setAnchorPoint(Vec2(0.5f, 0.5f)); ignoreContentAdaptWithSize(true); return true; } return false; }
bool UIWidget::init() { m_children = CCArray::create(); m_children->retain(); initRenderer(); m_pRenderer->retain(); m_pRenderer->setZOrder(m_nWidgetZOrder); CCRGBAProtocol* renderRGBA = DYNAMIC_CAST_CCRGBAPROTOCOL; if (renderRGBA) { renderRGBA->setCascadeColorEnabled(true); renderRGBA->setCascadeOpacityEnabled(true); } setBright(true); ignoreContentAdaptWithSize(true); return true; }
bool Widget::init() { if (CCNode::init()) { _widgetChildren = CCArray::create(); CC_SAFE_RETAIN(_widgetChildren); _layoutParameterDictionary = CCDictionary::create(); CC_SAFE_RETAIN(_layoutParameterDictionary); _nodes = CCArray::create(); CC_SAFE_RETAIN(_nodes); initRenderer(); setBright(true); ignoreContentAdaptWithSize(true); setAnchorPoint(CCPoint(0.5f, 0.5f)); return true; } return false; }
bool CGridIcon::initBook(CItem* pItem, int pos, emGridsType gridsType,bool bCanMove) { if(!ImageView::init()) return false; if(!pItem) return false; ignoreContentAdaptWithSize(false); setSize(Size(132,132)); m_pItem = pItem; m_GridPos = pos; m_GridsType = gridsType; m_bCanMove = bCanMove; updateByContent(); return true; }
bool MainScene::init() { Size sizeWin = DIRECTOR->getWinSize(); float listWidth = sizeWin.width - sizeWin.height; // background layout auto layerColor = LayerColor::create(Color4B::WHITE, sizeWin.width, sizeWin.height); auto drawNodeV = DrawNode::create(); drawNodeV->drawSegment(Point(listWidth, 0), Point(listWidth, sizeWin.height), 2, Color4F::GRAY); layerColor->addChild(drawNodeV); auto drawNodeH = DrawNode::create(); drawNodeH->drawSegment(Point(listWidth, sizeWin.height / 3), Point(sizeWin.width, sizeWin.height / 3), 2, Color4F::GRAY); layerColor->addChild(drawNodeH); addChild(layerColor); // title auto btnTitle = Button::create(); btnTitle->setTouchEnabled(true); btnTitle->ignoreContentAdaptWithSize(false); btnTitle->setTitleFontName("Marker Felt"); btnTitle->setTitleText("Cocos2d Manual"); btnTitle->setTitleColor(Color3B::GREEN); btnTitle->setTitleFontSize(30); btnTitle->setSize(Size(listWidth, 40)); btnTitle->setPosition(Point(listWidth / 2, sizeWin.height - 30)); BIND_LISTENER_TOUCH(btnTitle, this, MainScene::onTouchTitle); addChild(btnTitle); // manual layer auto layerDisplay = ManualDisplay::create(); auto layerCode = ManualCode::create(); auto layerList = ManualList::create(); layerCode->setDisplay(layerDisplay); layerCode->setTag(Tag::TAG_CODELAYER); layerList->setCode(layerCode); addChild(layerDisplay); addChild(layerCode); addChild(layerList); return Layer::init(); }
bool Layout::init() { m_children = CCArray::create(); m_children->retain(); initRenderer(); m_pRenderer->retain(); m_pRenderer->setZOrder(m_nWidgetZOrder); CCRGBAProtocol* renderRGBA = dynamic_cast<CCRGBAProtocol*>(m_pRenderer); if (renderRGBA) { renderRGBA->setCascadeColorEnabled(false); renderRGBA->setCascadeOpacityEnabled(false); } ignoreContentAdaptWithSize(false); setSize(CCSizeZero); setBright(true); setAnchorPoint(ccp(0, 0)); m_pScheduler = CCDirector::sharedDirector()->getScheduler(); CC_SAFE_RETAIN(m_pScheduler); return true; }
bool UIWidget::init() { m_children = CCArray::create(); m_children->retain(); m_pLayoutParameterDictionary = CCDictionary::create(); CC_SAFE_RETAIN(m_pLayoutParameterDictionary); initRenderer(); m_pRenderer->retain(); m_pRenderer->setZOrder(m_nWidgetZOrder); CCRGBAProtocol* renderRGBA = DYNAMIC_CAST_CCRGBAPROTOCOL; if (renderRGBA) { renderRGBA->setCascadeColorEnabled(true); renderRGBA->setCascadeOpacityEnabled(true); } setBright(true); ignoreContentAdaptWithSize(true); m_pScheduler = CCDirector::sharedDirector()->getScheduler(); CC_SAFE_RETAIN(m_pScheduler); return true; }
void TableSelect::initTable(Size visibleSize,Vec2 origin){ //layout left auto backgroundLeft = M9Path::create("tab_one.9.png",Size(visibleSize.width*0.2f,visibleSize.height*0.75f)); backgroundLeft->setPosition(origin.x,origin.y+ visibleSize.height/2-backgroundLeft->getContentSize().height/2); this->addChild(backgroundLeft); auto hoatdong = MLabel::create("Hoạt động",32); hoatdong->setPosition(Vec2(origin.x+backgroundLeft->getContentSize().width/2-hoatdong->getContentSize().width/2, backgroundLeft->getPosition().y+backgroundLeft->getContentSize().height -1.8f*hoatdong->getContentSize().height)); this->addChild(hoatdong); Layout* layoutLeft = Layout::create(); layoutLeft->setContentSize(Size(backgroundLeft->getWidth()-30,backgroundLeft->getHeight()*5/6)); layoutLeft->setPosition(Vec2(origin.x+15,origin.y+visibleSize.height*0.125f)); this->addChild(layoutLeft); auto lv1 = ListView::create(); //auto testxxx = MText::create("This is a notification xxxxxx!",15); //lv1->setItemModel(testxxx); for(int i=0;i<20;i++){ auto testxxx = MText::create("This is a notification xxxxxx!,nothing.don't look at me!please!",15); testxxx->ignoreContentAdaptWithSize(false); testxxx->setContentSize(Size(layoutLeft->getContentSize().width,testxxx->getHeight()*2)); lv1->pushBackCustomItem(testxxx); } lv1->setItemsMargin(10); //lv1->setBounceEnabled(true); lv1->setGravity(ListView::Gravity::LEFT); lv1->setContentSize(layoutLeft->getContentSize()); //lv1->setPosition(layoutLeft->getPosition()); lv1->setScrollBarEnabled(false); layoutLeft->addChild(lv1); //==========================Layout Right auto backgroundRight = M9Path::create("tab_two.9.png",Size(visibleSize.width*0.8f,visibleSize.height*0.75f)); backgroundRight->setPosition(origin.x+visibleSize.width*0.2f, origin.y+visibleSize.height/2-backgroundRight->getHeight()/2); this->addChild(backgroundRight); auto ban_so = MLabel::create("Bàn số ▿",32); ban_so->setPosition(Vec2(origin.x-ban_so->getWidth()/2 + visibleSize.width*0.32f, hoatdong->getPosition().y)); this->addChild(ban_so); auto tien_cuoc = MLabel::create("Tiền cược ▿",32); tien_cuoc->setPosition(Vec2(origin.x-tien_cuoc->getWidth()/2 + visibleSize.width*0.55f, hoatdong->getPosition().y)); this->addChild(tien_cuoc); auto trang_thai = MLabel::create("Trạng thái ▿",32); trang_thai->setPosition(Vec2(origin.x-trang_thai->getWidth()/2 + visibleSize.width*0.76f, hoatdong->getPosition().y)); this->addChild(trang_thai); auto khoa = MLabel::create("Khóa ▿",32); khoa->setPosition(Vec2(origin.x-khoa->getWidth()/2 + visibleSize.width*0.945f, hoatdong->getPosition().y)); this->addChild(khoa); Layout* layoutRight = Layout::create(); layoutRight->setContentSize(Size(backgroundRight->getWidth()-30,backgroundRight->getHeight()*5/6)); layoutRight->setPosition(Vec2(origin.x+15+backgroundLeft->getWidth(),origin.y+visibleSize.height*0.125f)); this->addChild(layoutRight); auto lvRight = ListView::create(); //auto model = Button::create(); //lvRight->setItemModel(model); for (int i=0; i<20; i++) { auto bkg_item = Sprite::create("bgr_list_item.png"); auto number_table = MLabel::create("6",30); auto money = MLabel::create("1000 xu",30); auto status = MLabel::create("xxx",30); auto lock = Sprite::create("ic_lock.png"); auto custom_item = Layout::create(); custom_item->setContentSize(Size(layoutRight->getContentSize().width,lock->getContentSize().height*2)); bkg_item->setScale(layoutRight->getContentSize().width/bkg_item->getContentSize().width, lock->getContentSize().height*2/bkg_item->getContentSize().height); bkg_item->setPosition(layoutRight->getContentSize().width/2,custom_item->getContentSize().height/2); number_table->setPosition(Vec2(number_table->getContentSize().width/2+backgroundRight->getContentSize().width/8, custom_item->getContentSize().height / 2.0f-number_table->getContentSize().height/2)); money->setPosition(Vec2(money->getContentSize().width/2+backgroundRight->getContentSize().width*2.5f/8, custom_item->getContentSize().height / 2.0f-money->getContentSize().height/2)); status->setPosition(Vec2(status->getContentSize().width/2+backgroundRight->getContentSize().width*5/8, custom_item->getContentSize().height / 2.0f-status->getContentSize().height/2)); lock->setPosition(Vec2(lock->getContentSize().width/2+backgroundRight->getContentSize().width*7/8, custom_item->getContentSize().height / 2.0f)); custom_item->addChild(bkg_item); custom_item->addChild(number_table); custom_item->addChild(money); custom_item->addChild(status); custom_item->addChild(lock); lvRight->pushBackCustomItem(custom_item); } lvRight->setItemsMargin(15); lvRight->setBounceEnabled(true); lvRight->setGravity(ListView::Gravity::LEFT); lvRight->setContentSize(layoutRight->getContentSize()); layoutRight->addChild(lvRight); //====== }
Alert* Alert::create() { //usual cocos create, note that I'm skipping handling errors. should fix that Alert* alert = new (std::nothrow) Alert(); if (alert && alert->init()) { alert->autorelease(); } Size visibleSize = Director::getInstance()->getVisibleSize(); Size node_size = visibleSize*0.80f; alert->setContentSize(node_size); alert->setLayoutType(ui::Layout::Type::RELATIVE); //alert->setBackGroundColor(Color3B::BLACK); //alert->setBackGroundColorOpacity(255/1.5); //alert->setBackGroundColorType(ui::LayoutBackGroundColorType::SOLID); alert->setBackGroundImage("main_UI_export_10_x4.png", TextureResType::PLIST); alert->setBackGroundImageScale9Enabled(true); alert->setBackGroundImageColor(Color3B(114, 160, 72)); //alert->setBackGroundImageOpacity(200.0f); //layout->setClippingEnabled(true); auto create_txt = [&](std::string msg, ui::RelativeLayoutParameter* param) { auto txt = ui::Text::create(msg, DEFAULT_FONT, sx(25.0f)); Label* lbl = (Label*)txt->getVirtualRenderer(); lbl->getFontAtlas()->setAliasTexParameters(); txt->setTextColor(Color4B::BLACK); //txt->enableOutline(Color4B::BLACK, 2); txt->ignoreContentAdaptWithSize(false); //word wrap or something alert->addChild(txt); txt->setLayoutParameter(param); return txt; }; auto header_param = ui::RelativeLayoutParameter::create(); header_param->setRelativeName("header_param"); header_param->setAlign(ui::RelativeAlign::PARENT_TOP_CENTER_HORIZONTAL); header_param->setMargin(ui::Margin(sx(10), sy(30), sx(10), sy(10))); alert->header_txt = create_txt("Title Here", header_param); auto sub_header_param = ui::RelativeLayoutParameter::create(); sub_header_param->setRelativeName("sub_header_param"); sub_header_param->setAlign(ui::RelativeAlign::LOCATION_BELOW_CENTER); sub_header_param->setMargin(ui::Margin(sx(10), sy(10), sx(10), sy(10))); alert->sub_header_txt = create_txt("Sub header", sub_header_param); sub_header_param->setRelativeToWidgetName("header_param"); auto body_param = ui::RelativeLayoutParameter::create(); body_param->setAlign(ui::RelativeAlign::PARENT_LEFT_CENTER_VERTICAL); body_param->setMargin(ui::Margin(sx(30), sy(10), sx(10), sy(10))); alert->body_txt = create_txt("Body content", body_param); Size body_size = alert->body_txt->getAutoRenderSize(); alert->body_txt->setTextAreaSize(Size( body_size.width, body_size.height )); auto close_btn = ui::Button::create(); close_btn->addTouchEventListener([alert](Ref*, TouchEventType type) { if (type == TouchEventType::ENDED) { Size visibleSize = Director::getInstance()->getVisibleSize(); Vec2 origin = Director::getInstance()->getVisibleOrigin(); Vec2 pos = Vec2( origin.x + visibleSize.width - 20, origin.y + 20 ); alert->shrink_close(pos); }; }); close_btn->setTitleText("X"); close_btn->setTitleColor(Color3B::RED); close_btn->setTitleFontSize(sx(40.0f)); close_btn->getTitleRenderer()->enableOutline(Color4B::GRAY, 10); close_btn->setScaleX(sx(1.0f)); close_btn->setScaleY(sy(1.0f)); alert->close_btn = close_btn; ui::RelativeLayoutParameter* close_param = ui::RelativeLayoutParameter::create(); close_param->setAlign(ui::RelativeLayoutParameter::RelativeAlign::PARENT_TOP_RIGHT); close_param->setMargin(ui::Margin(sx(30), sy(20), sx(30), sy(30))); alert->close_btn->setLayoutParameter(close_param); alert->addChild(alert->close_btn); auto done_btn = ui::Button::create(); done_btn->addTouchEventListener([alert](Ref*, TouchEventType type) { if (type == TouchEventType::ENDED) { Size visibleSize = Director::getInstance()->getVisibleSize(); Vec2 origin = Director::getInstance()->getVisibleOrigin(); Vec2 pos = Vec2( origin.x + visibleSize.width - 20, origin.y + 20 ); alert->shrink_close(pos); }; }); done_btn->setScale9Enabled(true); done_btn->loadTextureNormal("main_UI_export_10_scale9_x4.png", ui::TextureResType::PLIST); done_btn->setTitleText("Done"); done_btn->setTitleFontSize(40.0f); done_btn->setTitleFontName(DEFAULT_FONT); auto lbl_size = done_btn->getTitleRenderer()->getContentSize(); done_btn->setContentSize( Size( lbl_size.width * 1.5f, lbl_size.height * 1.5f ) ); done_btn->ignoreContentAdaptWithSize(false); //word wrap or something done_btn->setTitleColor(Color3B::BLACK); done_btn->setScaleX(sx(1.0f)); done_btn->setScaleY(sy(1.0f)); alert->done_btn = done_btn; ui::RelativeLayoutParameter* done_param = ui::RelativeLayoutParameter::create(); done_param->setAlign(ui::RelativeLayoutParameter::RelativeAlign::PARENT_BOTTOM_CENTER_HORIZONTAL); done_param->setMargin(ui::Margin(sx(30), sy(20), sx(30), sy(30))); done_param->setRelativeName("done_btn"); alert->done_btn->setLayoutParameter(done_param); alert->addChild(alert->done_btn); auto listener = EventListenerTouchOneByOne::create(); listener->setSwallowTouches(true); listener->onTouchBegan = CC_CALLBACK_2(Alert::onTouchBegan, alert); listener->onTouchEnded = CC_CALLBACK_2(Alert::onTouchEnded, alert); Director::getInstance()->getEventDispatcher()->addEventListenerWithSceneGraphPriority(listener, alert); return alert; };
// 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; }
void EquipmentInfo::singleEquipmentInfo(int pkID, int typeClick) { equipmentPKID = pkID; for (unsigned int i = 0; i < tempEquipVector.size(); i ++) { if (tempEquipVector[ i ].ePKID == pkID) { auto singlePanel = dynamic_cast<Layout* >(Helper::seekWidgetByName(singleInfo, "Panel_Left")); // 获取属性面板 auto nameImageString = __String::createWithFormat("%d.png", localEquipVector[ tempEquipVector[ i ].eID - 94001 ].eID); auto nameImage = dynamic_cast<ImageView* >(Helper::seekWidgetByName(singlePanel, "Image_Equip_0")); // 设置物品图片 nameImage->loadTexture(nameImageString->getCString(), TextureResType::UI_TEX_TYPE_PLIST); nameImage->setScale(81.0f / 120.0f); auto nameText = dynamic_cast<Text* >(Helper::seekWidgetByName(singlePanel, "Label_Name")); // 装备名称 if (tempEquipVector[ i ].eLevel == 0) { auto equipLevel = __String::createWithFormat("%s", localEquipVector[ tempEquipVector[ i ].eID - 94001 ].eChinaName); nameText->setText(equipLevel->getCString()); } else { auto equipLevel = __String::createWithFormat("%s+%d", localEquipVector[ tempEquipVector[ i ].eID - 94001 ].eChinaName, tempEquipVector[ i ].eLevel); nameText->setText(equipLevel->getCString()); } for (int z = 60; z < 62; z ++) { singlePanel->removeChildByTag( z ); } // 功能按钮 auto equipButton = dynamic_cast<Button*>(Helper::seekWidgetByName(singlePanel, "Button_Equip")); // 装备按钮 equipButton->addTouchEventListener(this, toucheventselector(EquipmentInfo::equipClick)); equipButton->setVisible(false); equipButton->setTouchEnabled(false); auto changeButton = dynamic_cast<Button*>(Helper::seekWidgetByName(singlePanel, "Button_Change")); // 更换 changeButton->addTouchEventListener(this, toucheventselector(EquipmentInfo::changeClick)); changeButton->setVisible(false); changeButton->setTouchEnabled(false); auto unloadButton = dynamic_cast<Button*>(Helper::seekWidgetByName(singlePanel, "Button_Unload")); // 卸下 unloadButton->addTouchEventListener(this, toucheventselector(EquipmentInfo::unloadClick)); unloadButton->setVisible(false); unloadButton->setTouchEnabled(false); if (interGeneralEquipVector[ 0 ].equipID[ DataManager::getInstance()->equipType - 1 ] == 0) // 点击的位置没有装备 { equipButton->setVisible(true); equipButton->setTouchEnabled(true); if (false == NewComer::isGuideDone(1000)) /* 引导ID为0,且未完成 */ { _comer = NewComer::create(this, 1000, 4); } } else { if ( interGeneralEquipVector[ 0 ].equipPKID[ DataManager::getInstance()->equipType - 1 ] == pkID ) { unloadButton->setVisible(true); unloadButton->setTouchEnabled(true); } else { changeButton->setVisible(true); changeButton->setTouchEnabled(true); } } // 物品属性 auto proptyLabel1 = (Text*)singlePanel->getChildByName("Label_Propty_1"); proptyLabel1->setFontSize(FontSize); proptyLabel1->setVisible(false); auto proptyLabel2 = (Text*)singlePanel->getChildByName("Label_Propty_2"); proptyLabel2->setFontSize(FontSize); proptyLabel2->setVisible(false); auto label1 = Label::create(); label1->setSystemFontSize(FontSize); label1->setColor(Color3B(255, 76, 0)); label1->setTag(Label1); singlePanel->addChild(label1, 10); auto label2 = Label::create(); label2->setSystemFontSize(FontSize); label2->setColor(Color3B(255, 76, 0)); label2->setTag(Label2); singlePanel->addChild(label2, 10); auto goodsTypeString = __String::createWithFormat("%s", localEquipVector[ tempEquipVector[ i ].eID - 94001 ].ePositionName); auto goodsDesString = __String::createWithFormat("%s", localEquipVector[ tempEquipVector[ i ].eID - 94001 ].eDes); auto typeLabel = dynamic_cast<Text*>(Helper::seekWidgetByName(singlePanel, "Label_Num")); auto desLabel = (Text*)singlePanel->getChildByName("Label_Des"); typeLabel->setVisible(true); typeLabel->setText(goodsTypeString->getCString()); desLabel->setVisible(true); desLabel->ignoreContentAdaptWithSize(false); desLabel->setSize(Size(180, 150)); desLabel->setTextHorizontalAlignment(TextHAlignment::LEFT); desLabel->setText(goodsDesString->getCString()); switch (localEquipVector[ tempEquipVector[ i ].eID - 94001 ].ePositionType) { case PosTypeHead: { proptyLabel1->setVisible(true); proptyLabel2->setVisible(false); proptyLabel1->setText(mpFontChina->getComString("PD")->getCString()); auto hpString = __String::createWithFormat("%d", localEquipVector[ tempEquipVector[ i ].eID - 94001 ].ePD); label1->setPosition(Point(proptyLabel1->getPositionX() + proptyLabel1->getContentSize().width + 10, proptyLabel1->getPositionY())); label1->setString(hpString->getCString()); } break; case PosTypeArmour: { proptyLabel1->setVisible(true); proptyLabel2->setVisible(false); proptyLabel1->setText(mpFontChina->getComString("HP")->getCString()); auto hpString = __String::createWithFormat("%d", localEquipVector[ tempEquipVector[ i ].eID - 94001 ].eHP); label1->setPosition(Point(proptyLabel1->getPositionX() + proptyLabel1->getContentSize().width + 10, proptyLabel1->getPositionY())); label1->setString(hpString->getCString()); } break; case PosTypeDecorations: { proptyLabel1->setVisible(true); proptyLabel1->setText(mpFontChina->getComString("MD")->getCString()); proptyLabel2->setVisible(false); auto attackString = __String::createWithFormat("%d", localEquipVector[ tempEquipVector[ i ].eID - 94001 ].eMD); label1->setPosition(Point(proptyLabel1->getPositionX() + proptyLabel1->getContentSize().width + 10, proptyLabel1->getPositionY())); label1->setString(attackString->getCString()); } break; case PosTypeWeapons: { proptyLabel1->setVisible(true); proptyLabel2->setVisible(false); proptyLabel1->setText(mpFontChina->getComString("Attack")->getCString()); label1->setPosition(proptyLabel1->getPosition().x + proptyLabel1->getContentSize().width + 10, proptyLabel1->getPosition().y); auto hpString = __String::createWithFormat("%d", localEquipVector[ tempEquipVector[ i ].eID - 94001 ].eAtk); label1->setString(hpString->getCString()); } break; case PosTypeQi: { proptyLabel1->setVisible(true); proptyLabel2->setVisible(true); proptyLabel1->setText(mpFontChina->getComString("APR")->getCString()); label1->setPosition(proptyLabel1->getPosition().x + proptyLabel1->getContentSize().width + 10, proptyLabel1->getPosition().y); auto hpString = __String::createWithFormat("%.2f", localEquipVector[ tempEquipVector[ i ].eID - 94001 ].eAddCrit); label1->setString(hpString->getCString()); proptyLabel2->setText(mpFontChina->getComString("RPR")->getCString()); label2->setPosition(proptyLabel2->getPosition().x + proptyLabel2->getContentSize().width + 10, proptyLabel2->getPosition().y); auto hpString2 = __String::createWithFormat("%.2f", localEquipVector[ tempEquipVector[ i ].eID - 94001 ].eReduceCrit); label2->setString(hpString2->getCString()); } break; case PosTypeYi: { proptyLabel1->setVisible(true); proptyLabel2->setVisible(true); proptyLabel1->setText(mpFontChina->getComString("ARH")->getCString()); label1->setPosition(proptyLabel1->getPosition().x + proptyLabel1->getContentSize().width + 10, proptyLabel1->getPosition().y); auto hpString = __String::createWithFormat("%d", localEquipVector[ tempEquipVector[ i ].eID - 94001 ].eAddRealHurt); label1->setString(hpString->getCString()); proptyLabel2->setText(mpFontChina->getComString("RRH")->getCString()); label2->setPosition(proptyLabel2->getPosition().x + proptyLabel2->getContentSize().width + 10, proptyLabel2->getPosition().y); auto hpString2 = __String::createWithFormat("%d", localEquipVector[ tempEquipVector[ i ].eID - 94001 ].eReduceHurt); label2->setString(hpString2->getCString()); } break; } } } }