bool MainScene::init() { if (!Layer::init()) return false; auto director = Director::getInstance(); auto pView = director->getOpenGLView(); pView->setDesignResolutionSize(RESOLUTION_WIDTH, RESOLUTION_HEIGHT, ResolutionPolicy::SHOW_ALL); Size visibleSize = director->getVisibleSize(); Vec2 origin = director->getVisibleOrigin(); //Title 'Kid Sudoku' auto labelTitle = Label::createWithTTF("Kid Remember It", "fonts/Marker Felt.ttf", 188); labelTitle->setTextColor(Color4B(0xe3, 0x54, 0xf4, 0xff)); labelTitle->setPosition(Vec2(origin.x + visibleSize.width / 2, origin.y + visibleSize.height - labelTitle->getContentSize().height/2 - 40) ); this->addChild(labelTitle); //Cool Papa-Legend announcement auto labelAnn = Label::createWithTTF("Cool Papa-Legend : Produce product for our kids.", "fonts/Marker Felt.ttf", 30); labelAnn->setTextColor(Color4B(0x00, 0xff, 0x00, 0xff)); labelAnn->setPosition(Vec2(origin.x + visibleSize.width / 2, labelTitle->getPosition().y - labelTitle->getContentSize().height/2 - 60 - labelAnn->getContentSize().height / 2) ); this->addChild(labelAnn); //Campaign Button auto btnPlay = ui::Button::create("btn-menu-0.png", "btn-menu-1.png", "btn-menu-2.png"); btnPlay->setScale9Enabled(true); btnPlay->setCapInsets(Rect(15, 15, 4, 4)); btnPlay->setTitleText("Play"); btnPlay->setTitleFontSize(40); btnPlay->setContentSize(Size(300, 90)); btnPlay->setPosition(Vec2(origin.x + visibleSize.width / 2, labelAnn->getPosition().y - labelAnn->getContentSize().height / 2 - 140 - btnPlay->getContentSize().height/2) ); btnPlay->addClickEventListener(CC_CALLBACK_1(MainScene::onMenuPlayClicked, this)); this->addChild(btnPlay, 1); //Exit Button auto btnExit = ui::Button::create("btn-menu-0.png", "btn-menu-1.png", "btn-menu-2.png"); btnExit->setScale9Enabled(true); btnExit->setCapInsets(Rect(15, 15, 4, 4)); btnExit->setTitleText("Exit"); btnExit->setTitleFontSize(40); btnExit->setContentSize(Size(300, 90)); btnExit->setPosition(Vec2(origin.x + visibleSize.width / 2, btnPlay->getPosition().y - btnPlay->getContentSize().height / 2 - 40 - btnExit->getContentSize().height/2) ); btnExit->addClickEventListener(CC_CALLBACK_1(MainScene::onMenuExitClicked, this)); this->addChild(btnExit, 1); return true; }
bool NFCUISelectServer::initLayout() { if(!NFCUIDialog::initLayout()) return false; m_pServerList = ui::ListView::create(); m_pServerList->setSizeType(ui::SizeType::PERCENT); m_pServerList->setSizePercent(Vec2(0.1f, 0.25f)); m_pServerList->setPositionType(ui::PositionType::PERCENT); m_pServerList->setPositionPercent(Vec2(0.5f, 0.5f)); m_pServerList->setBackGroundColorType(ui::LayoutBackGroundColorType::SOLID); m_pServerList->setBackGroundColor(Color3B(150, 200, 255)); m_pServerList->setAnchorPoint(Vec2(0.5, 0.5)); m_pContent->addChild(m_pServerList); auto button = ui::Button::create(); button->loadTextureNormal("Default/Button_Normal.png",ui::TextureResType::LOCAL); button->setScale9Enabled(true); button->setSizePercent(Vec2(1.0f, 0.2f)); button->setSizeType(ui::SizeType::PERCENT); m_pServerList->setItemModel(button); g_pLoginLogic->AddEventCallBack(E_LoginEvent_WorldList, this, &NFCUISelectServer::OnWorldListEvent); g_pLoginLogic->AddEventCallBack(E_LoginEvent_ServerList, this, &NFCUISelectServer::OnServerListEvent); return true; }
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; } }
Layout* UI::createLayout(int i){ auto lo=Layout::create(); lo->setBackGroundImage("HelloWorld.png"); lo->setBackGroundImageScale9Enabled(true); lo->setContentSize(Size(480,320)*1.5); for (int i=0; i<5; i++) { for (int j=0; j<7; j++) { auto ub=Button::create(); ub->loadTextureNormal("editBG.png"); ub->loadTexturePressed("editBG.png"); ub->loadTextureDisabled("editBg.png"); ub->setScale9Enabled(true); ub->setContentSize(Size(100,50)); ub->setPressedActionEnabled(true); ub->setZoomScale(0.5f); ub->setTitleFontName("fonts/Marker Felt.ttf"); ub->setTitleFontSize(30); ub->setTitleColor(Color3B::GREEN); ub->setTitleText(StringUtils::format("%d--%d",i,j)); ub->addClickEventListener(CC_CALLBACK_1(UI::buttonClick, this)); ub->setTag(i); ub->setPosition(Vec2(70+120*i, 35+j*60)); lo->addChild(ub); } } return lo; }
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; } }
bool SimplePage::initWithIndex(int newIndex) { if(!Node::init()) return false; setName("secondPage"); auto visibleSize=Director::getInstance()->getVisibleSize(); auto rootNode= CSLoader::createNode("simplePage.csb"); rootNode->setPosition(visibleSize/2); addChild(rootNode); auto listView=rootNode->getChildByName<ui::ListView *>("listView"); const auto& data=CSVGlobalConfig::getInstance()->data; for(const auto& lineData : data) { auto buttonTitle=lineData[0]; auto button=ui::Button::create("button.png"); button->setScale9Enabled(true); button->setTitleFontSize(25); button->setContentSize(Size( 300,30)); button->setTitleText(buttonTitle); button->addClickEventListener(CC_CALLBACK_1(SimplePage::onButtonClickCallBack, this)); listView->pushBackCustomItem(button); } return true; }
void UIButtonTestSwitchScale9::touchEvent(Ref *pSender, Widget::TouchEventType type) { switch (type) { case Widget::TouchEventType::BEGAN: _displayValueLabel->setString(String::createWithFormat("Touch Down")->getCString()); break; case Widget::TouchEventType::MOVED: _displayValueLabel->setString(String::createWithFormat("Touch Move")->getCString()); break; case Widget::TouchEventType::ENDED: { _displayValueLabel->setString(String::createWithFormat("Touch Up")->getCString()); auto btn = ((Button*)pSender); btn->setScale9Enabled(!btn->isScale9Enabled()); btn->setContentSize(Size(200,100)); } break; case Widget::TouchEventType::CANCELED: _displayValueLabel->setString(String::createWithFormat("Touch Cancelled")->getCString()); break; default: break; } }
void UI:: initImageView(){ auto visibleSive=Director::getInstance()->getVisibleSize(); auto iv=ImageView::create("HelloWorld.png"); iv->setScale9Enabled(true); iv->setContentSize(cocos2d::Size(960,640)); iv->setPosition(visibleSive/2); addChild(iv); }
void ImageView::copySpecialProperties(Widget *widget) { ImageView* imageView = dynamic_cast<ImageView*>(widget); if (imageView) { _prevIgnoreSize = imageView->_prevIgnoreSize; setScale9Enabled(imageView->_scale9Enabled); loadTexture(imageView->_textureFile.c_str(), imageView->_imageTexType); setCapInsets(imageView->_capInsets); } }
void UIImageView::copySpecialProperties(UIWidget *widget) { UIImageView* imageView = dynamic_cast<UIImageView*>(widget); if (imageView) { m_bPrevIgnoreSize = imageView->m_bPrevIgnoreSize; setScale9Enabled(imageView->m_bScale9Enabled); loadTexture(imageView->m_strTextureFile.c_str(), imageView->m_eImageTexType); setCapInsets(imageView->m_capInsets); } }
bool HelloWorld::init() { if (!Layer::init()) { return false; } m_score = 0; Size visibleSize = Director::getInstance()->getVisibleSize(); //退出程序 auto listenerEnd = EventListenerKeyboard::create(); listenerEnd->onKeyReleased = CC_CALLBACK_2(HelloWorld::onKeyReleased, this); Director::getInstance()->getEventDispatcher()->addEventListenerWithSceneGraphPriority(listenerEnd, this); auto layerColorBG = LayerColor::create(Color4B(180, 170, 160, 255)); addChild(layerColorBG); auto labTTFCardNumberName = Label::createWithSystemFont("Score", "fonts/arial.ttf", 60); labTTFCardNumberName->setPosition(Point(visibleSize.width / 5, visibleSize.height - 70)); addChild(labTTFCardNumberName); labTTFCardNumber = Label::createWithSystemFont("0", "fonts/arial.ttf", 60); labTTFCardNumber->setPosition(Point(visibleSize.width / 2 + 100, visibleSize.height - 70)); addChild(labTTFCardNumber); auto listen = EventListenerTouchOneByOne::create(); listen->onTouchBegan = CC_CALLBACK_2(HelloWorld::onTouchBegan, this); listen->onTouchEnded = CC_CALLBACK_2(HelloWorld::onTouchEnded, this); Director::getInstance()->getEventDispatcher()->addEventListenerWithSceneGraphPriority(listen, this); //设置重来按钮 auto m_bunt = ui::Button::create("normal.png", "selected.png"); m_bunt->setScale9Enabled(true);//可拉伸图片 m_bunt->setTitleText("Begen"); m_bunt->setTitleFontSize(50); m_bunt->setTitleFontName("fonts/arial.ttf"); m_bunt->setContentSize(cocos2d::Size(visibleSize.width / 10+200, visibleSize.height / 15)); m_bunt->setPosition(Point(visibleSize.width / 5 + 180, visibleSize.height - 150)); m_bunt->addTouchEventListener(CC_CALLBACK_2(HelloWorld::touchEvent, this)); addChild(m_bunt); creatCard(visibleSize); autoCreateCardNumber(); autoCreateCardNumber(); return true; }
Button* OptionScene::createButton(std::string text, Size size, std::function<void(Ref*)> callback) { auto button = Button::create("UI/ButtonNormal.png", "UI/ButtonSelected.png"); button->setTitleText(text); button->setTitleFontName(MyCreator::normalFont); button->setTitleColor(Color3B::BLACK); button->setTitleFontSize(30); button->addClickEventListener(callback); button->setScale9Enabled(true); button->setContentSize(size); return button; }
void LoadingBar::copySpecialProperties(Widget *widget) { LoadingBar* loadingBar = dynamic_cast<LoadingBar*>(widget); if (loadingBar) { _prevIgnoreSize = loadingBar->_prevIgnoreSize; setScale9Enabled(loadingBar->_scale9Enabled); loadTexture(loadingBar->_textureFile.c_str(), loadingBar->_renderBarTexType); setCapInsets(loadingBar->_capInsets); setPercent(loadingBar->_percent); } }
void UILoadingBar::copySpecialProperties(UIWidget *widget) { UILoadingBar* loadingBar = dynamic_cast<UILoadingBar*>(widget); if (loadingBar) { m_bPrevIgnoreSize = loadingBar->m_bPrevIgnoreSize; setScale9Enabled(loadingBar->m_bScale9Enabled); loadTexture(loadingBar->m_strTextureFile.c_str(), loadingBar->m_eRenderBarTexType); setCapInsets(loadingBar->m_capInsets); setPercent(loadingBar->m_nPercent); } }
bool CButton::initWithFile(const char* pNormal, const char* pSelected, const char* pDisabled) { if( !pNormal || !strlen(pNormal) || !init() ) { return false; } setScale9Enabled(false); setNormalImage(pNormal); setSelectedImage(pSelected); setDisabledImage(pDisabled); return true; }
ButtonEx* ButtonEx::create(const std::string& normalImage, const std::string& selectedImage, const std::string& disableImage, TextureResType texType) { auto result = new (std::nothrow) Self(); if (result != nullptr && result->init(normalImage, selectedImage, disableImage, texType)) { result->autorelease(); result->setScale9Enabled(true); } else { CC_SAFE_DELETE(result); } return result; }
// on "init" you need to initialize your instance bool HelloWorld::init() { if ( !LayerColor::initWithColor(Constants::BACKGROUND_COLOR) ) { return false; } Size visibleSize = Director::getInstance()->getVisibleSize(); Vec2 origin = Director::getInstance()->getVisibleOrigin(); auto learnBtn = ui::Button::create("BtnNormal", "BtnPressed", "", ui::Widget::TextureResType::PLIST); learnBtn->setScale9Enabled(true); learnBtn->setCapInsets(Rect(12, 12, 12, 12)); learnBtn->setSize(Size(177, 58)); learnBtn->setPosition(Vec2(origin.x + visibleSize.width/2, origin.y + visibleSize.height/2 + 39)); learnBtn->getTitleRenderer()->setBMFontFilePath(Constants::FONT_BOLD30); learnBtn->setTitleText("Learn"); learnBtn->addTouchEventListener(CC_CALLBACK_2(HelloWorld::touchEvent, this)); this->addChild(learnBtn, 1, 1); auto testBtn = ui::Button::create("BtnBlueNormal", "BtnBluePressed", "", ui::Widget::TextureResType::PLIST); testBtn->setScale9Enabled(true); testBtn->setCapInsets(Rect(12, 12, 12, 12)); testBtn->setSize(Size(177, 58)); testBtn->setPosition(Vec2(origin.x + visibleSize.width/2, origin.y + visibleSize.height/2 - 39)); testBtn->getTitleRenderer()->setBMFontFilePath(Constants::FONT_BOLD30); testBtn->setTitleText("Test"); testBtn->addTouchEventListener(CC_CALLBACK_2(HelloWorld::touchEvent, this)); this->addChild(testBtn, 2, 2); auto rateBtn = ui::Button::create("RateBtn", "", "", ui::Widget::TextureResType::PLIST); rateBtn->setPosition(Vec2(origin.x + visibleSize.width/2, origin.y + 30)); rateBtn->addTouchEventListener(CC_CALLBACK_2(HelloWorld::touchEvent, this)); this->addChild(rateBtn, 3, 3); return true; }
void ImageView::copySpecialProperties(Widget *widget) { ImageView* imageView = dynamic_cast<ImageView*>(widget); if (imageView) { _prevIgnoreSize = imageView->_prevIgnoreSize; setScale9Enabled(imageView->_scale9Enabled); auto imageSprite = imageView->_imageRenderer->getSprite(); if(nullptr != imageSprite) { loadTexture(imageSprite->getSpriteFrame()); } setCapInsets(imageView->_capInsets); } }
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()); } }
bool CButton::initWith9Sprite(const Size& tSize, const char* pNormal, const char* pSelected, const char* pDisabled) { if( !pNormal || !strlen(pNormal) || !init() ) { return false; } setScale9Enabled(true); setContentSize(tSize); setNormalImage(pNormal); setSelectedImage(pSelected); setDisabledImage(pDisabled); return true; }
void UI::initLoadingBar(){ auto visibleSize=cocos2d::Director::getInstance()->getVisibleSize(); auto lb=LoadingBar::create("editBG.png"); auto lb1=lb->getContentSize(); log("%f,%f",lb1.width,lb1.height); lb->setScale9Enabled(true); lb->setContentSize(Size(300,300)); lb->setPosition(visibleSize/2); lb->setDirection(LoadingBar::Direction::LEFT); lb->setPercent(30); addChild(lb,2,1); //调度器 schedule(CC_CALLBACK_1(UI::LoadingBarUpdate,this),"LoadingBarUpdate"); }
void LoadingBar::copySpecialProperties(Widget *widget) { LoadingBar* loadingBar = dynamic_cast<LoadingBar*>(widget); if (loadingBar) { _prevIgnoreSize = loadingBar->_prevIgnoreSize; setScale9Enabled(loadingBar->_scale9Enabled); auto barSprite = loadingBar->_barRenderer->getSprite(); if(nullptr != barSprite) { loadTexture(barSprite->getSpriteFrame()); } setCapInsets(loadingBar->_capInsets); setPercent(loadingBar->_percent); setDirection(loadingBar->_direction); } }
void Button::copySpecialProperties(Widget *widget) { Button* button = dynamic_cast<Button*>(widget); if (button) { _prevIgnoreSize = button->_prevIgnoreSize; setScale9Enabled(button->_scale9Enabled); // clone the inner sprite: https://github.com/cocos2d/cocos2d-x/issues/16924 button->_buttonNormalRenderer->copyTo(_buttonNormalRenderer); _normalFileName = button->_normalFileName; _normalTextureSize = button->_normalTextureSize; _normalTexType = button->_normalTexType; _normalTextureLoaded = button->_normalTextureLoaded; setupNormalTexture(!_normalFileName.empty()); button->_buttonClickedRenderer->copyTo(_buttonClickedRenderer); _clickedFileName = button->_clickedFileName; _pressedTextureSize = button->_pressedTextureSize; _pressedTexType = button->_pressedTexType; _pressedTextureLoaded = button->_pressedTextureLoaded; setupPressedTexture(!_clickedFileName.empty()); button->_buttonDisabledRenderer->copyTo(_buttonDisabledRenderer); _disabledFileName = button->_disabledFileName; _disabledTextureSize = button->_disabledTextureSize; _disabledTexType = button->_disabledTexType; _disabledTextureLoaded = button->_disabledTextureLoaded; setupDisabledTexture(!_disabledFileName.empty()); setCapInsetsNormalRenderer(button->_capInsetsNormal); setCapInsetsPressedRenderer(button->_capInsetsPressed); setCapInsetsDisabledRenderer(button->_capInsetsDisabled); if(nullptr != button->getTitleRenderer()) { setTitleText(button->getTitleText()); setTitleFontName(button->getTitleFontName()); setTitleFontSize(button->getTitleFontSize()); setTitleColor(button->getTitleColor()); } setPressedActionEnabled(button->_pressedActionEnabled); setZoomScale(button->_zoomScale); } }
void Button::copySpecialProperties(Widget *widget) { Button* button = dynamic_cast<Button*>(widget); if (button) { _prevIgnoreSize = button->_prevIgnoreSize; setScale9Enabled(button->_scale9Enabled); loadTextureNormal(button->_normalFileName.c_str(), button->_normalTexType); loadTexturePressed(button->_clickedFileName.c_str(), button->_pressedTexType); loadTextureDisabled(button->_disabledFileName.c_str(), button->_disabledTexType); setCapInsetsNormalRenderer(button->_capInsetsNormal); setCapInsetsPressedRenderer(button->_capInsetsPressed); setCapInsetsDisabledRenderer(button->_capInsetsDisabled); setTitleText(button->getTitleText()); setTitleFontName(button->getTitleFontName()); setTitleFontSize(button->getTitleFontSize()); setTitleColor(button->getTitleColor()); setPressedActionEnabled(button->_pressedActionEnabled); } }
void LoadingBar::copySpecialProperties(Widget *widget) { LoadingBar* loadingBar = dynamic_cast<LoadingBar*>(widget); if (loadingBar) { _prevIgnoreSize = loadingBar->_prevIgnoreSize; setScale9Enabled(loadingBar->_scale9Enabled); // clone the inner sprite: https://github.com/cocos2d/cocos2d-x/issues/16930 loadingBar->_barRenderer->copyTo(_barRenderer); setupTexture(); setCapInsets(loadingBar->_capInsets); setPercent(loadingBar->_percent); setDirection(loadingBar->_direction); _textureFile = loadingBar->_textureFile; _totalLength = loadingBar->_totalLength; _barRendererTextureSize = loadingBar->_barRendererTextureSize; } }
//按钮 void UI:: initButton(){ auto visibleSize=Director::getInstance()->getVisibleSize(); auto ub=Button::create(); ub->loadTextureNormal("0.png"); ub->loadTexturePressed("2.png"); ub->loadTextureDisabled("2.png"); ub->setScale9Enabled(true); ub->setContentSize(cocos2d::Size(128,128)); ub->setPressedActionEnabled(true); ub->setZoomScale(2); ub->setTitleFontName("fonts/Marker Felt.ttf"); ub->setTitleFontSize(30); ub->setTitleColor(cocos2d::Color3B::YELLOW); ub->setTitleText("HHLLO Button"); // ub->addClickEventListener(CC_CALLBACK_1(UI::buttonClick, this)); //添加触摸事件 ub->addTouchEventListener (this,toucheventselector(UI::buttonClick)); ub->setPosition(visibleSize/2); addChild(ub); }
void UI::initListView(){ auto lv=ListView::create(); lv->setContentSize(cocos2d::Size(640,480)); lv->setItemsMargin(20);//设置间隔 lv->setDirection(cocos2d::ui::ScrollView::Direction::VERTICAL); for (int i=0; i<50; i++) { auto ub=Button::create(); ub->loadTextureNormal("0.png"); ub->loadTexturePressed("1.png"); ub->loadTextureDisabled("0.png"); ub->setScale9Enabled(true); ub->setContentSize(Size(600,400)); ub->setPressedActionEnabled(true); ub->setZoomScale(0.5f); ub->addClickEventListener(CC_CALLBACK_1(UI::buttonClick, this)); ub->setTag(i); lv->pushBackCustomItem(ub); } lv->addEventListener(CC_CALLBACK_2(UI::ListViewCall, this)); addChild(lv); }
void Button::copySpecialProperties(Widget *widget) { Button* button = dynamic_cast<Button*>(widget); if (button) { _prevIgnoreSize = button->_prevIgnoreSize; setScale9Enabled(button->_scale9Enabled); auto normalSprite = button->_buttonNormalRenderer->getSprite(); if (nullptr != normalSprite) { loadTextureNormal(normalSprite->getSpriteFrame()); } auto clickedSprite = button->_buttonClickedRenderer->getSprite(); if (nullptr != clickedSprite) { loadTexturePressed(clickedSprite->getSpriteFrame()); } auto disabledSprite = button->_buttonDisableRenderer->getSprite(); if (nullptr != disabledSprite) { loadTextureDisabled(disabledSprite->getSpriteFrame()); } setCapInsetsNormalRenderer(button->_capInsetsNormal); setCapInsetsPressedRenderer(button->_capInsetsPressed); setCapInsetsDisabledRenderer(button->_capInsetsDisabled); if(nullptr != button->getTitleRenderer()) { setTitleText(button->getTitleText()); setTitleFontName(button->getTitleFontName()); setTitleFontSize(button->getTitleFontSize()); setTitleColor(button->getTitleColor()); } setPressedActionEnabled(button->_pressedActionEnabled); setZoomScale(button->_zoomScale); } }
// 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; }
// 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; }