bool UISliderTest_Scale9::init() { if (UIScene::init()) { Size widgetSize = _widget->getSize(); // Add a label in which the slider alert will be displayed _displayValueLabel = Text::create(); _displayValueLabel->setText("Move the slider thumb"); _displayValueLabel->setFontName("Marker Felt"); _displayValueLabel->setFontSize(32); _displayValueLabel->setAnchorPoint(Point(0.5f, -1)); _displayValueLabel->setPosition(Point(widgetSize.width / 2.0f, widgetSize.height / 2.0f)); _uiLayer->addChild(_displayValueLabel); // Add the alert Text *alert = Text::create(); alert->setText("Slider scale9 render"); alert->setFontName("Marker Felt"); alert->setFontSize(30); alert->setColor(Color3B(159, 168, 176)); alert->setPosition(Point(widgetSize.width / 2.0f, widgetSize.height / 2.0f - alert->getSize().height * 1.75f)); _uiLayer->addChild(alert); // Create the slider Slider* slider = Slider::create(); slider->setTouchEnabled(true); slider->loadBarTexture("cocosui/sliderTrack2.png"); slider->loadSlidBallTextures("cocosui/sliderThumb.png", "cocosui/sliderThumb.png", ""); slider->loadProgressBarTexture("cocosui/slider_bar_active_9patch.png"); slider->setScale9Enabled(true); slider->setCapInsets(Rect(0, 0, 0, 0)); slider->setSize(Size(250.0f, 19)); slider->setPosition(Point(widgetSize.width / 2.0f, widgetSize.height / 2.0f/* + slider->getSize().height * 3.0f*/)); slider->addEventListenerSlider(this, sliderpercentchangedselector(UISliderTest_Scale9::sliderEvent)); _uiLayer->addChild(slider); /* // Create the slider that set allow min progress and allow max progress Slider* sliderAllow = Slider::create(); // sliderAllow->setMinAllowPercent(20); // sliderAllow->setMaxAllowPercent(80); sliderAllow->setTouchEnabled(true); sliderAllow->loadBarTexture("cocosui/sliderTrack2.png"); sliderAllow->loadSlidBallTextures("cocosui/sliderThumb.png", "cocosui/sliderThumb.png", ""); sliderAllow->loadProgressBarTexture("cocosui/slider_bar_active_9patch.png"); sliderAllow->setScale9Enabled(true); sliderAllow->setCapInsets(Rect(0, 0, 0, 0)); sliderAllow->setSize(Size(250.0f, 10.0f / Director::getInstance()->getContentScaleFactor())); sliderAllow->setPosition(Point(widgetSize.width / 2.0f, widgetSize.height / 2.0f - slider->getSize().height * 3.0f)); sliderAllow->addEventListenerSlider(this, sliderpercentchangedselector(UISliderTest_Scale9::sliderEvent)); _uiLayer->addChild(sliderAllow); */ return true; } return false; }
/*===*/ bool UISliderTest::init() { if (UIScene::init()) { CCSize widgetSize = m_pWidget->getSize(); // Add a label in which the slider alert will be displayed m_pDisplayValueLabel = UILabel::create(); m_pDisplayValueLabel->setText("Move the slider thumb"); m_pDisplayValueLabel->setFontName("Marker Felt"); m_pDisplayValueLabel->setFontSize(32); m_pDisplayValueLabel->setAnchorPoint(ccp(0.5f, -1)); m_pDisplayValueLabel->setPosition(ccp(widgetSize.width / 2.0f, widgetSize.height / 2.0f)); m_pUiLayer->addWidget(m_pDisplayValueLabel); // Add the alert UILabel *alert = UILabel::create(); alert->setText("Slider"); alert->setFontName("Marker Felt"); alert->setFontSize(30); alert->setColor(ccc3(159, 168, 176)); alert->setPosition(ccp(widgetSize.width / 2.0f, widgetSize.height / 2.0f - alert->getSize().height * 1.75)); m_pUiLayer->addWidget(alert); // Create the slider UISlider* slider = UISlider::create(); slider->setTouchEnabled(true); slider->loadBarTexture("cocosgui/sliderTrack.png"); slider->loadSlidBallTextures("cocosgui/sliderThumb.png", "cocosgui/sliderThumb.png", ""); slider->loadProgressBarTexture("cocosgui/sliderProgress.png"); slider->setPosition(ccp(widgetSize.width / 2.0f, widgetSize.height / 2.0f)); // slider->setPosition(ccp(widgetSize.width / 2.0f, widgetSize.height / 2.0f + slider->getSize().height * 2)); slider->addEventListenerSlider(this, sliderpercentchangedselector(UISliderTest::sliderEvent)); m_pUiLayer->addWidget(slider); /* // Create the slider that set allow min progress and allow max progress UISlider* sliderAllow = UISlider::create(); //===// // sliderAllow->setMinAllowPercent(20); // sliderAllow->setMaxAllowPercent(80); // sliderAllow->setTouchEnabled(true); sliderAllow->loadBarTexture("cocosgui/sliderTrack.png"); sliderAllow->loadSlidBallTextures("cocosgui/sliderThumb.png", "cocosgui/sliderThumb.png", ""); sliderAllow->loadProgressBarTexture("cocosgui/sliderProgress.png"); sliderAllow->setPosition(ccp(widgetSize.width / 2.0f, widgetSize.height / 2.0f - sliderAllow->getSize().height * 2)); sliderAllow->addEventListenerSlider(this, sliderpercentchangedselector(UISliderTest::sliderEvent)); m_pUiLayer->addWidget(sliderAllow); */ return true; } return false; }
void OptionLayer::addOption() { this->setDJ(DiscJockey::getInstance()); Node *optionNode = CSLoader::createNode("optionNode.csb");//传入Studio2.x的资源路径 optionNode->setPosition(Point(originPoint.x + visibleSize.width / 2, (originPoint.y + visibleSize.height / 2))); this->addChild(optionNode); optionNode->setName("optionNode"); this->setAnchorPoint(Point(0.5, 0.5)); this->ignoreAnchorPointForPosition(false); this->setPosition(Point(originPoint.x + visibleSize.width / 2, -(originPoint.y + visibleSize.height / 2))); auto eventListener = EventListenerTouchOneByOne::create(); eventListener->setSwallowTouches(true); eventListener->onTouchBegan = CC_CALLBACK_2(OptionLayer::onTouchBegan, this); eventListener->onTouchCancelled = CC_CALLBACK_2(OptionLayer::onTouchCancelled, this); eventListener->onTouchEnded = CC_CALLBACK_2(OptionLayer::onTouchEnded, this); Director::getInstance()->getEventDispatcher()->addEventListenerWithSceneGraphPriority(eventListener, this); auto cancelButton = dynamic_cast<ui::Button*> (optionNode->getChildByName("cancelButton")); if (cancelButton) { cancelButton->addClickEventListener(CC_CALLBACK_1(OptionLayer::cancel, this)); } //set font name again due to the cocos studio 2.0 bugs (Text load ttf error) for (auto node : optionNode->getChildren()) { auto textNode = dynamic_cast<ui::Text*>(node); if (textNode) { textNode->enableOutline(Color4B(25, 26, 25, 155), 2); } } auto musicBox = dynamic_cast<ui::CheckBox*>(optionNode->getChildByName("soundCheck")); musicBox->addEventListenerCheckBox(this, checkboxselectedeventselector(OptionLayer::musicCheckBoxCallback)); auto effectBox = dynamic_cast<ui::CheckBox*>(optionNode->getChildByName("effectCheck")); effectBox->addEventListenerCheckBox(this, checkboxselectedeventselector(OptionLayer::effectCheckBoxCallback)); musicBox->setSelectedState(getDJ()->isMusicOn()); effectBox->setSelectedState(getDJ()->isEffectOn()); int curSpeed = CommandCenter::getInstance()->getSpeedLevel(); auto textNode = dynamic_cast<ui::Text*>(optionNode->getChildByName("textCurSpeed")); textNode->setText(String::createWithFormat("%d", curSpeed)->getCString()); auto speedSlider = dynamic_cast<ui::Slider*>(optionNode->getChildByName("speedSlider")); speedSlider->addEventListenerSlider(this, sliderpercentchangedselector(OptionLayer::speedSliderCallback)); speedSlider->setPercent(curSpeed * 10); }
bool UISliderTest_Editor::init() { if (UIScene_Editor::init()) { _layout = static_cast<Layout*>(cocostudio::GUIReader::getInstance()->widgetFromJsonFile("cocosui/UIEditorTest/UISlider_Editor/ui_slider_editor_1.json")); _touchGroup->addChild(_layout); Size screenSize = CCDirector::getInstance()->getWinSize(); Size rootSize = _layout->getSize(); _touchGroup->setPosition(Point((screenSize.width - rootSize.width) / 2, (screenSize.height - rootSize.height) / 2)); Layout* root = static_cast<Layout*>(_layout->getChildByName("root_Panel")); Text* back_label = static_cast<Text*>(Helper::seekWidgetByName(root, "back")); back_label->addTouchEventListener(this, toucheventselector(UIScene_Editor::toGUIEditorTestScene)); _sceneTitle = static_cast<Text*>(Helper::seekWidgetByName(root, "UItest")); Slider* slider = static_cast<Slider*>(Helper::seekWidgetByName(root, "Slider_738")); slider->addEventListenerSlider(this, sliderpercentchangedselector(UISliderTest_Editor::sliderEvent)); Slider* scale9_slider = static_cast<Slider*>(Helper::seekWidgetByName(root, "Slider_740")); scale9_slider->addEventListenerSlider(this, sliderpercentchangedselector(UISliderTest_Editor::sliderEvent)); _displayValueLabel = Text::create(); _displayValueLabel->setFontName("Marker Felt"); _displayValueLabel->setFontSize(30); _displayValueLabel->setText("No event"); _displayValueLabel->setPosition(Point(_layout->getSize().width / 2, _layout->getSize().height - _displayValueLabel->getSize().height * 1.75f)); _touchGroup->addChild(_displayValueLabel); return true; } return false; }
bool SettingMenuLayer::init(bool musicVolumeClosed, bool musicEffectClosed,int musicVolume, int musicEffect) { if(UILayer::init()) { this->setTouchEnabled(true); this->setTouchMode(kCCTouchesOneByOne); SimpleAudioEngine::sharedEngine()->pauseBackgroundMusic(); CCDirector::sharedDirector()->pause(); Widget * myWidget = dynamic_cast<UILayout*>(GUIReader::shareReader()->widgetFromJsonFile("UI/SettingMenu/SettingMenu_1.json")); this->addWidget(myWidget); musicVolumeSlider = dynamic_cast<UISlider*>(this->getWidgetByName("volume_bar")); musicEffectSlider = dynamic_cast<UISlider*>(this->getWidgetByName("effect_bar")); musicVolumeCheckBox = dynamic_cast<UICheckBox*>(this->getWidgetByName("volume_CheckBox")); musicEffectCheckBox = dynamic_cast<UICheckBox*>(this->getWidgetByName("effect_CheckBox")); UIButton* resumeBtn = dynamic_cast<UIButton*>(this->getWidgetByName("resume")); UIButton* quitBtn = dynamic_cast<UIButton*>(this->getWidgetByName("quit")); musicVolumeCheckBox->addEventListenerCheckBox(this,checkboxselectedeventselector(SettingMenuLayer::musicVolumeCheckBoxCallFunc)); musicEffectCheckBox->addEventListenerCheckBox(this,checkboxselectedeventselector(SettingMenuLayer::musicEffectCheckBoxCallFunc)); musicVolumeSlider->addEventListenerSlider(this, sliderpercentchangedselector(SettingMenuLayer::musicVolumeSliderCallFunc)); musicEffectSlider->addEventListenerSlider(this, sliderpercentchangedselector(SettingMenuLayer::musicEffectSliderCallFunc)); resumeBtn->addTouchEventListener(this, toucheventselector(SettingMenuLayer::resumeGame)); quitBtn->addTouchEventListener(this, toucheventselector(SettingMenuLayer::quitGame)); musicVolumeCheckBox->setSelectedState(musicVolumeClosed); musicEffectCheckBox->setSelectedState(musicEffectClosed); musicVolumeSlider->setPercent(musicVolume); musicEffectSlider->setPercent(musicEffect); return true; } return false; }
/// 滚动条 equipe_root---josn Layout UISlider* slider = dynamic_cast<UISlider*>(equipe_root->getChildByName("Slider_53")); slider->setTouchEnabled(true); slider->setScale9Enabled(true); /// 是否开启9空格 slider->addEventListenerSlider(this, sliderpercentchangedselector(HelloWorld::sliderEvent)); ///< 设置滚动条回调函数 函数: void HelloWorld::sliderEvent( CCObject *pSender, SliderEventType type ) { switch (type) { case SLIDER_PERCENTCHANGED: { UISlider* slider = dynamic_cast<UISlider*>(pSender); int percent = slider->getPercent(); CCLOG("%d", percent); } break; default: break; } }