void MainLayer::pageViewEvent(Ref* sender, PageView::EventType type) { if (type != PageView::EventType::TURNING) return; auto pageView = dynamic_cast<PageView*>(sender); if (_focus && _focus->getParent() != pageView->getPage(pageView->getCurPageIndex())) { _isFocusNotOnTab = false; removeFocusAction(); _tabNode->setUserObject(nullptr); } auto node = LsTools::seekNodeByName(_rootNode, "Node_btn"); for (auto& child : node->getChildren()) { auto btn = dynamic_cast<Button*>(child); btn->setBright(true); btn->setScale(1.0f); } auto btn = getCurTabBtn(); btn->setBright(false); if (!_isFocusNotOnTab){ btn->setScale(TAB_BTN_SCALE); _navi_Scelect->stopAllActions(); _navi_Scelect->setPositionX(btn->getPositionX()); } //_navi_Scelect->setPositionX(btn->getPositionX()); //changeTab(pageView->getCurPageIndex()); createSpecRecomend(); }
void BattleHudLayer::showUI() { auto ui = GUIReader::getInstance()->widgetFromJsonFile(UI_DIALOG_BATTLEHUD); this->addChild(ui, 0, "UI"); // select auto btn0 = (Button*)Helper::seekWidgetByName(ui, "Button0"); auto btn1 = (Button*)Helper::seekWidgetByName(ui, "Button1"); auto btn2 = (Button*)Helper::seekWidgetByName(ui, "Button2"); auto btn3 = (Button*)Helper::seekWidgetByName(ui, "Button3"); auto btn4 = (Button*)Helper::seekWidgetByName(ui, "Button4"); btn0->addTouchEventListener(CC_CALLBACK_2(BattleHudLayer::selectCallback, this)); btn1->addTouchEventListener(CC_CALLBACK_2(BattleHudLayer::selectCallback, this)); btn2->addTouchEventListener(CC_CALLBACK_2(BattleHudLayer::selectCallback, this)); btn3->addTouchEventListener(CC_CALLBACK_2(BattleHudLayer::selectCallback, this)); btn4->addTouchEventListener(CC_CALLBACK_2(BattleHudLayer::selectCallback, this)); btn0->setBright(true); btn1->setBright(false); btn2->setBright(false); btn3->setBright(false); btn4->setBright(false); _select = 0; // skill auto skill1 = (Button*)Helper::seekWidgetByName(ui, "Skill1"); auto skill2 = (Button*)Helper::seekWidgetByName(ui, "Skill2"); skill1->addTouchEventListener(CC_CALLBACK_2(BattleHudLayer::skillCallback, this)); skill2->addTouchEventListener(CC_CALLBACK_2(BattleHudLayer::skillCallback, this)); // retreat auto retreat = (Button*)Helper::seekWidgetByName(ui, "RetreatButton"); retreat->addTouchEventListener(CC_CALLBACK_2(BattleHudLayer::retreatCallback, this)); showInfo(); }
void Widget::copyProperties(Widget *widget) { setEnabled(widget->isEnabled()); setVisible(widget->isVisible()); setBright(widget->isBright()); setTouchEnabled(widget->isTouchEnabled()); _touchPassedEnabled = false; setLocalZOrder(widget->getLocalZOrder()); setTag(widget->getTag()); setName(widget->getName()); setActionTag(widget->getActionTag()); _ignoreSize = widget->_ignoreSize; _size = widget->_size; _customSize = widget->_customSize; copySpecialProperties(widget); _sizeType = widget->getSizeType(); _sizePercent = widget->_sizePercent; _positionType = widget->_positionType; _positionPercent = widget->_positionPercent; setPosition(widget->getPosition()); setAnchorPoint(widget->getAnchorPoint()); setScaleX(widget->getScaleX()); setScaleY(widget->getScaleY()); setRotation(widget->getRotation()); setRotationX(widget->getRotationX()); setRotationY(widget->getRotationY()); setFlipX(widget->isFlipX()); setFlipY(widget->isFlipY()); setColor(widget->getColor()); setOpacity(widget->getOpacity()); setCascadeOpacityEnabled(widget->isCascadeOpacityEnabled()); setCascadeColorEnabled(widget->isCascadeColorEnabled()); onSizeChanged(); }
//英雄按钮 void EquipUpgradeLayer::heroButton_OnTouch(Ref* sender, Widget::TouchEventType type) { if (type!=Widget::TouchEventType::ENDED) return; SoundBLL::getInstance()->playEffect(kButtonSound); for (auto &btn : m_HeroItemButtons) { btn->setTouchEnabled(true); btn->setBright(true); } auto btn=(ui::Button*)sender; btn->setTouchEnabled(false); btn->setBright(false); currSelectHeroID=btn->getTag(); showWearpack(); m_WearPanel->setVisible(false); s_wearborder->setVisible(false); //英雄 HeroBase *hero=GameObjectFactory::getHero(currSelectHeroID-1); //刷新数据 updateInfo(hero->getHeroModel()); }
void EstimatePlace::setSecondSelect() { Vector<__String*> vInfo = setSecondSelectListInfo(); if(_vSecondButton.size() > 0) _vSecondButton.clear(); for(int i = 0 ; i < vInfo.size(); i++) { auto button = ui::Button::create("UI_TopMenuBG-hd.png"); button->setBright(true); button->setZoomScale(0.1f); button->addTouchEventListener([&](Ref* sender, ui::Widget::TouchEventType type){ switch (type) { case ui::Widget::TouchEventType::BEGAN: break; case ui::Widget::TouchEventType::ENDED: SecondbuttonCallBack(sender); break; default: break; } }); _vSecondButton.pushBack(button); setTypeLabel(1, vInfo.at(i)->getCString()); } }
void EstimatePlace::setFirstSelect() { for(int i=0;i<3;i++) { auto button = ui::Button::create("UI_TopMenuBG-hd.png"); button->setBright(true); button->setZoomScale(0.1f); button->addTouchEventListener([&](Ref* sender, ui::Widget::TouchEventType type){ switch (type) { case ui::Widget::TouchEventType::BEGAN: break; case ui::Widget::TouchEventType::ENDED: buttonCallBack(sender); break; default: break; } }); _vFirstButton.pushBack(button); setTypeLabel(0, i==0 ? "주거공간": i==1? "상업공간": "사무공간"); } }
void UIWidget::copyProperties(UIWidget *widget) { setEnabled(widget->isEnabled()); setVisible(widget->isVisible()); setBright(widget->isBright()); setTouchEnabled(widget->isTouchEnabled()); m_bTouchPassedEnabled = false; setZOrder(widget->getZOrder()); setUpdateEnabled(widget->isUpdateEnabled()); setTag(widget->getTag()); setName(widget->getName()); setActionTag(widget->getActionTag()); m_bIgnoreSize = widget->m_bIgnoreSize; m_tSize = widget->m_tSize; m_tCustomSize = widget->m_tCustomSize; copySpecialProperties(widget); m_eSizeType = widget->getSizeType(); m_tSizePercent = widget->m_tSizePercent; m_ePositionType = widget->m_ePositionType; m_tPositionPercent = widget->m_tPositionPercent; setPosition(widget->getPosition()); setAnchorPoint(widget->getAnchorPoint()); setScaleX(widget->getScaleX()); setScaleY(widget->getScaleY()); setRotation(widget->getRotation()); setRotationX(widget->getRotationX()); setRotationY(widget->getRotationY()); setFlipX(widget->isFlipX()); setFlipY(widget->isFlipY()); setColor(widget->getColor()); setOpacity(widget->getOpacity()); setCascadeOpacityEnabled(widget->isCascadeOpacityEnabled()); setCascadeColorEnabled(widget->isCascadeColorEnabled()); onSizeChanged(); }
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); _normalTextureAdaptDirty = true; _pressedTextureAdaptDirty = true; _disabledTextureAdaptDirty = true; }
void FittingLayer::itemClicked(Index index) { assert(index.category == mCurCategory); auto chosenSymbol = getChosenSymbol(index); if (chosenSymbol->isVisible()) { FigureManager::getInstance()->undressItem(mAllItems[(int)index.category][index.index].figureKey); chosenSymbol->setVisible(false); if(mAllItems[(int)mCurCategory][index.index].saleState != Item::SaleState::GIFT) { --iSelectedValidItemCnt; } } else { chosenSymbol->setVisible(true); //mark the click item as selected if(mAllItems[(int)mCurCategory][index.index].saleState != Item::SaleState::GIFT) { ++iSelectedValidItemCnt; } //dress the selected item, get the removedKeys, mark removedKeys-item as unselected std::set<FigureKey> removedKeys = FigureManager::getInstance()->dressItem( mAllItems[(int)index.category][index.index].figureKey); for (auto iter = removedKeys.begin(); iter != removedKeys.end(); ++iter) { Index index = figureKeyToIndex(*iter); if (index.isValid()) { if(getChosenSymbol(index)->isVisible() && mAllItems[(int)mCurCategory][index.index].saleState != Item::SaleState::GIFT) { --iSelectedValidItemCnt; } } markFigureKeyUnselected(*iter); } } auto buyButton = dynamic_cast<cocos2d::ui::Button*>(getChildByName(BUY_BUTTON)); auto chooseItemImageView = dynamic_cast<cocos2d::ui::ImageView*>(buyButton->getChildByName(CHOOSE_NUM_IMAGE)); auto chooseItemLab = dynamic_cast<cocos2d::Label*>(getChildByName(CHOOSE_NUM_TAG)); buyButton->setEnabled(iSelectedValidItemCnt > 0); buyButton->setBright(iSelectedValidItemCnt > 0); chooseItemImageView->setVisible(iSelectedValidItemCnt > 0); chooseItemLab->setVisible(iSelectedValidItemCnt > 0); chooseItemLab->setString(intToString(iSelectedValidItemCnt)); }
bool Widget::init() { if (ProtectedNode::init()) { initRenderer(); setBright(true); ignoreContentAdaptWithSize(true); setAnchorPoint(Vec2(0.5f, 0.5f)); return true; } return false; }
void BattleHudLayer::selectCallback(Ref* sender, Widget::TouchEventType type) { if (type == Widget::TouchEventType::ENDED) { auto ui = (Widget*)this->getChildByName("UI"); auto btn = (Button*)sender; auto name = btn->getName(); auto btn0 = (Button*)Helper::seekWidgetByName(ui, "Button0"); auto btn1 = (Button*)Helper::seekWidgetByName(ui, "Button1"); auto btn2 = (Button*)Helper::seekWidgetByName(ui, "Button2"); auto btn3 = (Button*)Helper::seekWidgetByName(ui, "Button3"); auto btn4 = (Button*)Helper::seekWidgetByName(ui, "Button4"); btn0->setBright(false); btn1->setBright(false); btn2->setBright(false); btn3->setBright(false); btn4->setBright(false); btn->setBright(true); if (name == "Button0") _select = 0; if (name == "Button1") _select = 1; if (name == "Button2") _select = 2; if (name == "Button3") _select = 3; if (name == "Button4") _select = 4; _mapLayer->_ai->setSelect(_select); } }
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 UIWidget::setBright(bool bright, bool containChild) { setBright(bright); if (containChild) { ccArray* childrenArray = getChildren()->data; int length = childrenArray->num; for (int i=0; i<length; ++i) { UIWidget* child = (UIWidget*)childrenArray->arr[i]; child->setBright(bright,containChild); } } }
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 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 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); setAnchorPoint(CCPoint(0.5f, 0.5f)); return true; } return false; }
Image* CCImageColorSpace::imageWithHSB(Image *pRGBImage, int pHueValue, int pSaturationValue, int pBrightnessValue) { if (pHueValue == 0 && pSaturationValue == 0 && pBrightnessValue == 0) { return pRGBImage; } pSaturationValue = pSaturationValue * 255 / 100; pBrightnessValue = pBrightnessValue * 255 / 100; if (!pRGBImage->getData()) { CCLOG("Create PixelData error!"); return NULL; } const long lLen = pRGBImage->getDataLen() * 4; CCLOG("lLen %ld",lLen); unsigned char *lData = (unsigned char *)malloc(sizeof(unsigned char) * lLen); memset(lData, 0, lLen); memcpy(lData, pRGBImage->getData(), lLen); int pixOff = 0; //the end of every pixcel for(int y = 0; y < pRGBImage->getHeight(); y++) { for (int x = 0; x < pRGBImage->getWidth(); x++) { int red = (unsigned char)lData[pixOff]; int green = (unsigned char)lData[pixOff + 1]; int blue = (unsigned char)lData[pixOff + 2]; int alpha = (unsigned char)lData[pixOff + 3]; if ((red|green|blue) != 0) { setHueAndSaturation(&red, &green, &blue, pHueValue, pSaturationValue); setBright(&red, &green, &blue, alpha, pBrightnessValue); } lData[pixOff] = red; lData[pixOff + 1] = green; lData[pixOff + 2] = blue; pixOff += 4; } } Image *lImage = new Image(); lImage->initWithRawData(lData, lLen, pRGBImage->getWidth(), pRGBImage->getHeight(), 4, true); lImage->autorelease(); return lImage; }
void Widget::copyProperties(Widget *widget) { setEnabled(widget->isEnabled()); setVisible(widget->isVisible()); setBright(widget->isBright()); setTouchEnabled(widget->isTouchEnabled()); setLocalZOrder(widget->getLocalZOrder()); setTag(widget->getTag()); setName(widget->getName()); setActionTag(widget->getActionTag()); _ignoreSize = widget->_ignoreSize; this->setContentSize(widget->_contentSize); _customSize = widget->_customSize; _sizeType = widget->getSizeType(); _sizePercent = widget->_sizePercent; _positionType = widget->_positionType; _positionPercent = widget->_positionPercent; setPosition(widget->getPosition()); setAnchorPoint(widget->getAnchorPoint()); setScaleX(widget->getScaleX()); setScaleY(widget->getScaleY()); setRotation(widget->getRotation()); setRotationSkewX(widget->getRotationSkewX()); setRotationSkewY(widget->getRotationSkewY()); setFlippedX(widget->isFlippedX()); setFlippedY(widget->isFlippedY()); setColor(widget->getColor()); setOpacity(widget->getOpacity()); _touchEventCallback = widget->_touchEventCallback; _touchEventListener = widget->_touchEventListener; _touchEventSelector = widget->_touchEventSelector; _clickEventListener = widget->_clickEventListener; _focused = widget->_focused; _focusEnabled = widget->_focusEnabled; _propagateTouchEvents = widget->_propagateTouchEvents; copySpecialProperties(widget); Map<int, LayoutParameter*>& layoutParameterDic = widget->_layoutParameterDictionary; for (auto iter = layoutParameterDic.begin(); iter != layoutParameterDic.end(); ++iter) { setLayoutParameter(iter->second->clone()); } }
void Widget::copyProperties(Widget *widget) { setEnabled(widget->isEnabled()); setVisible(widget->isVisible()); setBright(widget->isBright()); setTouchEnabled(widget->isTouchEnabled()); setLocalZOrder(widget->getLocalZOrder()); setTag(widget->getTag()); setName(widget->getName()); setActionTag(widget->getActionTag()); _ignoreSize = widget->_ignoreSize; _size = widget->_size; _customSize = widget->_customSize; _sizeType = widget->getSizeType(); _sizePercent = widget->_sizePercent; _positionType = widget->_positionType; _positionPercent = widget->_positionPercent; setPosition(widget->getPosition()); setAnchorPoint(widget->getAnchorPoint()); setScaleX(widget->getScaleX()); setScaleY(widget->getScaleY()); setRotation(widget->getRotation()); setRotationSkewX(widget->getRotationSkewX()); setRotationSkewY(widget->getRotationSkewY()); setFlippedX(widget->isFlippedX()); setFlippedY(widget->isFlippedY()); setColor(widget->getColor()); setOpacity(widget->getOpacity()); _touchEventCallback = widget->_touchEventCallback; _touchEventListener = widget->_touchEventListener; _touchEventSelector = widget->_touchEventSelector; _focused = widget->_focused; _focusEnabled = widget->_focusEnabled; copySpecialProperties(widget); //FIXME:copy focus properties, also make sure all the subclass the copy behavior is correct Map<int, LayoutParameter*>& layoutParameterDic = widget->_layoutParameterDictionary; for (auto iter = layoutParameterDic.begin(); iter != layoutParameterDic.end(); ++iter) { setLayoutParameter(iter->second->clone()); } onSizeChanged(); }
bool Layout::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(false); setSize(CCSizeZero); setAnchorPoint(CCPointZero); return true; } return false; }
bool Widget::init() { if (CCNodeRGBA::init()) { _widgetChildren = CCArray::create(); CC_SAFE_RETAIN(_widgetChildren); _layoutParameterDictionary = CCDictionary::create(); CC_SAFE_RETAIN(_layoutParameterDictionary); _nodes = CCArray::create(); CC_SAFE_RETAIN(_nodes); initRenderer(); setCascadeColorEnabled(true); setCascadeOpacityEnabled(true); setBright(true); ignoreContentAdaptWithSize(true); setAnchorPoint(CCPoint(0.5f, 0.5f)); return true; } return false; }
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 Widget::copyProperties(Widget *widget) { setEnabled(widget->isEnabled()); setVisible(widget->isVisible()); setBright(widget->isBright()); setTouchEnabled(widget->isTouchEnabled()); _touchPassedEnabled = false; setLocalZOrder(widget->getLocalZOrder()); setTag(widget->getTag()); setName(widget->getName()); setActionTag(widget->getActionTag()); _ignoreSize = widget->_ignoreSize; _size = widget->_size; _customSize = widget->_customSize; copySpecialProperties(widget); _sizeType = widget->getSizeType(); _sizePercent = widget->_sizePercent; _positionType = widget->_positionType; _positionPercent = widget->_positionPercent; setPosition(widget->getPosition()); setAnchorPoint(widget->getAnchorPoint()); setScaleX(widget->getScaleX()); setScaleY(widget->getScaleY()); setRotation(widget->getRotation()); setRotationSkewX(widget->getRotationSkewX()); setRotationSkewY(widget->getRotationSkewY()); setFlippedX(widget->isFlippedX()); setFlippedY(widget->isFlippedY()); setColor(widget->getColor()); setOpacity(widget->getOpacity()); Map<int, LayoutParameter*>& layoutParameterDic = widget->_layoutParameterDictionary; for (auto iter = layoutParameterDic.begin(); iter != layoutParameterDic.end(); ++iter) { setLayoutParameter(iter->second->clone()); } onSizeChanged(); }
void UIWidget::disable(bool containChildren) { setBright(false,containChildren); setTouchEnable(false,containChildren); }
// on "init" you need to initialize your instance bool LearnScene::init() { if ( !LayerColor::initWithColor(Constants::BACKGROUND_COLOR) ) { return false; } Size visibleSize = Director::getInstance()->getVisibleSize(); Vec2 origin = Director::getInstance()->getVisibleOrigin(); // Home btn auto btn = ui::Button::create("HomeBtn", "HomeBtn", "", ui::Widget::TextureResType::PLIST); btn->setAnchorPoint(Vec2::ANCHOR_TOP_RIGHT); btn->setPosition(Vec2(origin.x + visibleSize.width, origin.y + visibleSize.height)); btn->addTouchEventListener(CC_CALLBACK_2(LearnScene::touchEvent, this)); this->addChild(btn, 1, 1); // Learn progress txt float retainedPercent = round(Constants::getRetainedWordCount() * 100 / Constants::getTotalWordCount()); std::stringstream stm; stm << "Learning progress: " << retainedPercent << "%"; auto label = Label::createWithBMFont(Constants::FONT_BOLD12, stm.str()); label->setColor(Color3B::BLACK); label->setAnchorPoint(Vec2::ANCHOR_MIDDLE_LEFT); label->setPosition(origin.x + 14, origin.y + visibleSize.height - 28); this->addChild(label, 2, 2); // Learn progress bar auto sprite9 = ui::Scale9Sprite::createWithSpriteFrameName("PbBg", Rect(2, 2, 2, 2)); sprite9->setContentSize(Size(visibleSize.width - 28, 18)); sprite9->setPosition(Vec2(origin.x + visibleSize.width/2, origin.y + visibleSize.height - 60)); this->addChild(sprite9, 3, 3); auto pb = ui::Scale9Sprite::createWithSpriteFrameName("PbProgress", Rect(2, 2, 2, 2)); Size pbSize = sprite9->getContentSize(); pbSize.width *= retainedPercent / 100; if(pbSize.width < 6) pbSize.width = 6; pb->setContentSize(pbSize); pb->setAnchorPoint(Vec2::ANCHOR_BOTTOM_LEFT); sprite9->addChild(pb, 1, 1); // Text area sprite9 = ui::Scale9Sprite::createWithSpriteFrameName("TextArea", Rect(12, 12, 12, 12)); sprite9->setContentSize(Size(visibleSize.width-28, visibleSize.height - 264)); sprite9->setPosition(Vec2(origin.x + visibleSize.width/2, origin.y + visibleSize.height - 86 - sprite9->getContentSize().height / 2)); this->addChild(sprite9, 4, 4); // choices btn = ui::Button::create("ChoiceBg", "ChoiceSelectedBg", "", ui::Widget::TextureResType::PLIST); btn->setScale9Enabled(true); btn->setCapInsets(Rect(5, 5, 5, 5)); btn->setSize(Size(visibleSize.width-28, 30)); btn->setPosition(Vec2(origin.x + visibleSize.width/2, origin.y + 148)); btn->getTitleRenderer()->setBMFontFilePath(Constants::FONT_REGULAR12); btn->getTitleRenderer()->setColor(Color3B::BLACK); btn->setTitleText("I know this word."); btn->addTouchEventListener(CC_CALLBACK_2(LearnScene::touchEvent, this)); this->addChild(btn, 5, 5); btn = ui::Button::create("ChoiceBg", "ChoiceSelectedBg", "", ui::Widget::TextureResType::PLIST); btn->setScale9Enabled(true); btn->setCapInsets(Rect(5, 5, 5, 5)); btn->setSize(Size(visibleSize.width-28, 30)); btn->setPosition(Vec2(origin.x + visibleSize.width/2, origin.y + 103)); btn->getTitleRenderer()->setBMFontFilePath(Constants::FONT_REGULAR12); btn->getTitleRenderer()->setColor(Color3B::BLACK); btn->setTitleText("Not yet!"); btn->addTouchEventListener(CC_CALLBACK_2(LearnScene::touchEvent, this)); this->addChild(btn, 6, 6); // check btn btn = ui::Button::create("BtnNormal", "BtnPressed", "BtnDisabled", ui::Widget::TextureResType::PLIST); btn->setScale9Enabled(true); btn->setCapInsets(Rect(12, 12, 12, 12)); btn->setSize(Size(visibleSize.width-28, 58)); btn->setPosition(Vec2(origin.x + visibleSize.width/2, origin.y + 45)); btn->getTitleRenderer()->setBMFontFilePath(Constants::FONT_BOLD30); btn->setTitleText("Check"); btn->addTouchEventListener(CC_CALLBACK_2(LearnScene::touchEvent, this)); this->addChild(btn, 7, 7); btn->setEnabled(false); btn->setBright(false); // term std::string nextWord = Constants::getNextWordToLearn(); label = Label::createWithBMFont(Constants::FONT_BOLD30, nextWord); label->setColor(Color3B::BLACK); label->setPosition(sprite9->getContentSize().width/2, sprite9->getContentSize().height/2); sprite9->addChild(label, 1, 1); // definition const ValueMap& wInfo = Configuration::getInstance()->getValue("words").asValueMap().at(nextWord).asValueMap(); auto it = wInfo.find("ldef"); std::string ldef = it != wInfo.end() ? it->second.asString() : "Missing definition"; label = Label::createWithBMFont(Constants::FONT_REGULAR14, ldef); label->setColor(Color3B::BLACK); label->setWidth(sprite9->getContentSize().width - 28); label->setAlignment(TextHAlignment::LEFT); label->setPosition(sprite9->getContentSize().width/2, sprite9->getContentSize().height/2); sprite9->addChild(label, 2, 2); label->setOpacity(0); label->setVisible(false); // play sound Constants::playText(nextWord); // init vars this->startTime = time(0); this->showNext = false; this->answerChoice = -1; return true; }
void UIWidget::active(bool containChildren) { setBright(true,containChildren); setTouchEnable(true,containChildren); }