Esempio n. 1
0
void HelloWorld::testControlBtn()
{
    //创建正常状态下九宫格精灵
    auto btnNormal = Scale9Sprite::create("switch-on.png");
    
    //创建点击状态下九宫格精灵
    auto  btnSelected = Scale9Sprite::create("switch-off.png");
    
    /*创建标题*/
    auto title = LabelTTF::create("", "Marker Felt", 30);
    
    
    /* 根据标题和九宫格图片创建按钮 */
    auto  controlBtn = ControlButton::create(title, btnNormal);
    //setPreferredSize 设置大小*/
    controlBtn->setPreferredSize(Size(128, 128));
    
    /* 设置点击时候显示的图片 */
    controlBtn->setBackgroundSpriteForState(btnSelected, Control::State::HIGH_LIGHTED);
    
    controlBtn->setPosition(Point(200, 200));
    //注册事件
    controlBtn->addTargetWithActionForControlEvents(this, cccontrol_selector(HelloWorld::btnClicked), Control::EventType::TOUCH_UP_INSIDE);
    controlBtn->setTag(10);
    this->addChild(controlBtn);
}
Esempio n. 2
0
void StartScene::appendButton(Vec2 point)
{
    auto playButton = ControlButton::create(Scale9Sprite::create("btn-play-normal.png"));
    playButton->setAdjustBackgroundImage(false);
    playButton->setPosition(point.x, point.y);
    playButton->addTargetWithActionForControlEvents(
        this,
        cccontrol_selector(StartScene::onTapPlayButton),
        Control::EventType::TOUCH_UP_INSIDE);

    addChild(playButton);

    auto scoreButton = ControlButton::create(Scale9Sprite::create("Images/SendScoreButton.png"));
    scoreButton->setAdjustBackgroundImage(false);
    scoreButton->setPosition(point.x, point.y - 100);
    scoreButton->addTargetWithActionForControlEvents(
        this,
        cccontrol_selector(StartScene::onTapScoreButton),
        Control::EventType::TOUCH_UP_INSIDE);

    addChild(scoreButton);
}
Esempio n. 3
0
void HelloWorld::testSlider()
{
	auto slider=ControlSlider::create("xuetiao1.png", "xuetiao2.png", "xuetiao3.png");
    slider->setAnchorPoint(Point(0.5, 0.5));
    slider->setMinimumValue(0);
    slider->setMaximumValue(100);
	//slider->setMaximumAllowedValue();
    slider->setPosition(Point(240, 160));
    slider->setTag(1);
    slider->addTargetWithActionForControlEvents(this,cccontrol_selector(HelloWorld::sliderValueChanged),Control::EventType::VALUE_CHANGED);
    slider->setScale(2);
    this->addChild(slider);
}
Esempio n. 4
0
//测试颜色选择器
void HelloWorld::testColorPicker()
{
    auto colourPicker = ControlColourPicker::create();
    colourPicker->setColor(Color3B(37, 46, 252));
    colourPicker->setPosition(Point (colourPicker->getContentSize().width /2,100));
    //注册事件
    colourPicker->addTargetWithActionForControlEvents(this, cccontrol_selector(HelloWorld::colourPickerValueChanged), Control::EventType::VALUE_CHANGED);
    
    auto label=LabelTTF::create("TESTCOLOR", "Arial", 40);
    label->setPosition(Point(300,150));
    label->setTag(19);
    this->addChild(label);
    // 添加到当前层
    this->addChild(colourPicker);
}
ControlButton* ChoiceLayer::createButton(int idx, string title)
{
	string choiceBtnBg = GlobalConfig::getInstance()->getChoiceMenuBgPath();
	Size screenSize = Director::getInstance()->getVisibleSize();
#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32)  
	GBKToUTF(title);
#endif 
	auto button = ControlButton::create(title, 
		GlobalConfig::getInstance()->getChoiceMenuFontName(), 
		GlobalConfig::getInstance()->getChoiceMenuFontSize());
	button->addTargetWithActionForControlEvents(this, cccontrol_selector(ChoiceLayer::choicesCallback), Control::EventType::TOUCH_UP_INSIDE);
	button->setBackgroundSpriteForState(Scale9Sprite::create(choiceBtnBg), Control::State::NORMAL);
	button->setPreferredSize(Size(screenSize.width*0.6, GlobalConfig::getInstance()->getChoiceMenuFontSize() + 10));
	button->setOpacity(0);
	button->setTitleColorForState(GlobalConfig::getInstance()->getChoiceMenuFontColor(), Control::State::NORMAL);
	addChild(button, 0, idx);
	return button;
}
Esempio n. 6
0
void HelloWorld::testSwitch()
{
    auto switchControl = ControlSwitch::create
    (
     Sprite::create("switch-mask.png"),
     Sprite::create("switch-on.png"),
     Sprite::create("switch-off.png"),
     Sprite::create("switch-thumb.png"),
     Label::create("On", "Arial", 16),
     Label::create("Off", "Arial", 16)
     );
    
    //设置位置
    switchControl->setPosition(Point(240, 160));
    //注册事件
    switchControl->addTargetWithActionForControlEvents(this, cccontrol_selector(HelloWorld::switchValueChanged), Control::EventType::VALUE_CHANGED);
    switchControl->setScale(2, 2);
    this->addChild(switchControl);
}
Esempio n. 7
0
void GameLayer::initUI()
{
	Sprite* bg1 = Sprite::createWithSpriteFrame(SpriteFrameCache::getInstance()->
		getSpriteFrameByName("UI_GAM~4_05.png"));
	Sprite* performance = Sprite::createWithSpriteFrame(SpriteFrameCache::
		getInstance()->getSpriteFrameByName("ui_font_per.png"));
	performance->setAnchorPoint(Point::ZERO);
	performance->setPosition(Point(10, 5));
	Sprite* score = Sprite::createWithSpriteFrame(SpriteFrameCache::
		getInstance()->getSpriteFrameByName("ui_font_score.png"));
	score->setAnchorPoint(Point::ZERO);
	score->setPosition(Point(200, 5));
	perfomaceLabel = Label::createWithCharMap("image/number_02.png", 33, 25, '0');
	perfomaceLabel->setAnchorPoint(Point::ZERO);
	perfomaceLabel->setPosition(Point(100,10));
	perfomaceLabel->setString("123");

	bg1->addChild(perfomaceLabel);
	bg1->addChild(performance);
	bg1->addChild(score);
	bg1->setAnchorPoint(Point::ZERO);
	bg1->setPosition(0, winSize.height - 50);



	Sprite* bg2 = Sprite::createWithSpriteFrame(SpriteFrameCache::getInstance()->
		getSpriteFrameByName("UI_GAM~4_05.png"));
	Sprite* distance = Sprite::createWithSpriteFrame(SpriteFrameCache::
		getInstance()->getSpriteFrameByName("ui_font_dis.png"));
	distance->setAnchorPoint(Point::ZERO);
	distance->setPosition(Point(10,5));
	Sprite* meter = Sprite::createWithSpriteFrame(SpriteFrameCache::
		getInstance()->getSpriteFrameByName("ui_font_meter.png"));
	meter->setAnchorPoint(Point::ZERO);
	meter->setPosition(Point(200, 5));

	distanceLabel = Label::createWithCharMap("image/number_02.png", 33, 25, '0');
	distanceLabel->setAnchorPoint(Point::ZERO);
	distanceLabel->setPosition(Point(100, 7));
	distanceLabel->setString("456");
	bg2->addChild(distanceLabel);
	bg2->addChild(distance);
	bg2->addChild(meter);
	bg2->setAnchorPoint(Point::ZERO);
	bg2->setPosition(250, winSize.height - 50);

	this->addChild(bg1);
	this->addChild(bg2);

	auto pauseItem = MenuItemSprite::create(Sprite::createWithSpriteFrame(
		SpriteFrameCache::getInstance()->getSpriteFrameByName("ui_game_n_10.png")),
		Sprite::createWithSpriteFrame(
		SpriteFrameCache::getInstance()->getSpriteFrameByName("ui_game_n_101.png")),
		CC_CALLBACK_1(GameLayer::pauseCallback,this));
	auto menu = Menu::create(pauseItem,NULL);
	menu->setPosition(WINSIZE.width -50,WINSIZE.height-50);
	this->addChild(menu);

	auto downBtnSprite = Scale9Sprite::createWithSpriteFrame(SpriteFrameCache::getInstance()->getSpriteFrameByName("UI_GAM~4_03.png"));
	auto downBtn = ControlButton::create(downBtnSprite);
	downBtn->setPreferredSize(Sprite::createWithSpriteFrame(SpriteFrameCache::getInstance()->getSpriteFrameByName("UI_GAM~4_03.png"))->getContentSize());
	downBtn->setPosition(80, WINSIZE.height / 2 - 220);
	downBtn->addTargetWithActionForControlEvents(this, cccontrol_selector(GameLayer::downBtnCallBack), Control::EventType::TOUCH_UP_INSIDE);
	downBtn->addTargetWithActionForControlEvents(this, cccontrol_selector(GameLayer::downBtnCallBack), Control::EventType::TOUCH_DOWN);
	this->addChild(downBtn);

	auto jumpBtnSprite = Scale9Sprite::createWithSpriteFrame(SpriteFrameCache::getInstance()->getSpriteFrameByName("UI_GAM~4_04.png"));
	auto jumpBtn = ControlButton::create(jumpBtnSprite);
	jumpBtn->setPreferredSize(Sprite::createWithSpriteFrame(SpriteFrameCache::getInstance()->getSpriteFrameByName("UI_GAM~4_04.png"))->getContentSize());
	jumpBtn->setPosition(WINSIZE.width - 80, WINSIZE.height / 2 - 220);
	jumpBtn->addTargetWithActionForControlEvents(this, cccontrol_selector(GameLayer::jumpBtnCallBack), Control::EventType::TOUCH_DOWN);
	this->addChild(jumpBtn);
}
Esempio n. 8
0
void EstateController::showButton1(std::vector<std::string> filename)
{
    Size winSize = Director::getInstance()->getVisibleSize();
    int temp_h = 0;
    int i = 0;
    for (std::vector<std::string>::iterator it = filename.begin(); it != filename.end(); ++it) {
        //        cout << *it << '\n';
        //ボタンを作成する
        auto button = ControlButton::create(Scale9Sprite::create(*it));
        //画像を引き延ばさない設定
        button->setAdjustBackgroundImage(false);
        Size a = button->getContentSize();
        //ボタンの位置設定
        button->setPosition(winSize.width/2, winSize.height-temp_h-a.height);
        temp_h += a.height;
        button->setScaleRatio(0.5f);
        //ボタンをタップしたときに呼び出す関数の設定
        switch (i) {
            case 0:
                button->addTargetWithActionForControlEvents(this,
                                                            cccontrol_selector(EstateController::onTapButton1),
                                                            Control::EventType::TOUCH_UP_INSIDE);
                break;
            case 1:
                button->addTargetWithActionForControlEvents(this,
                                                            cccontrol_selector(EstateController::onTapButton2),
                                                            Control::EventType::TOUCH_UP_INSIDE);
                break;
            case 2:
                button->addTargetWithActionForControlEvents(this,
                                                            cccontrol_selector(EstateController::onTapButton3),
                                                            Control::EventType::TOUCH_UP_INSIDE);
                break;
            case 3:
                button->addTargetWithActionForControlEvents(this,
                                                            cccontrol_selector(EstateController::onTapButton4),
                                                            Control::EventType::TOUCH_UP_INSIDE);
                break;
            case 4:
                button->addTargetWithActionForControlEvents(this,
                                                            cccontrol_selector(EstateController::onTapButton5),
                                                            Control::EventType::TOUCH_UP_INSIDE);
                break;
            case 5:
                button->addTargetWithActionForControlEvents(this,
                                                            cccontrol_selector(EstateController::onTapButton6),
                                                            Control::EventType::TOUCH_UP_INSIDE);
                break;
            case 6:
                button->addTargetWithActionForControlEvents(this,
                                                            cccontrol_selector(EstateController::onTapButton7),
                                                            Control::EventType::TOUCH_UP_INSIDE);
                break;
            case 7:
                button->addTargetWithActionForControlEvents(this,
                                                            cccontrol_selector(EstateController::onTapButton8),
                                                            Control::EventType::TOUCH_UP_INSIDE);
                break;
                
            default:
                break;
        }
        i++;
        //ボタンに表示する文字
        button->setTitleForState("", Control::State::NORMAL);
        //画面に追加する
        addChild(button);
    }
}