Esempio n. 1
0
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;
}
Esempio n. 2
0
/*===*/
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;
}
Esempio n. 3
0
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;
}
Esempio n. 6
0
/// 滚动条 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;
    }
}