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 Button::loadTextures(const std::string& normal, const std::string& selected, const std::string& disabled, TextureResType texType) { loadTextureNormal(normal,texType); loadTexturePressed(selected,texType); loadTextureDisabled(disabled,texType); }
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 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 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); }
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 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); } }
void Button::loadTextures(const char* normal,const char* selected,const char* disabled,TextureResType texType) { loadTextureNormal(normal,texType); loadTexturePressed(selected,texType); loadTextureDisabled(disabled,texType); }
//添加一些显示标签 void GameLayer:: addSprite(){ //显第几关的label auto temp = __String::createWithFormat("Level: %d",level); levelLabel = Label::createWithSystemFont(temp->getCString(), "fonts/Marker Felt.ttf", 32); levelLabel->setPosition(Point(80, visibleSize.height-40)); levelLabel->setColor(Color3B(255, 255, 255)); this->addChild(levelLabel,1); //显分数的label xmller.XmlParse(str); std::string level02= xmller.getLevel02(); int number=atoi(level02.c_str()); log("xml score=%d",number); auto sc = __String::createWithFormat("Money: %d",number); scoreLabel = Label::createWithSystemFont(sc->getCString(), "fonts/Marker Felt.ttf", 32); scoreLabel->setPosition(Point(110, visibleSize.height-80)); scoreLabel->setColor(Color3B(255, 255, 0)); this->addChild(scoreLabel,1); //显示子弹数量 std::string level03 = xmller.getLevel03(); int bb = atoi(level03.c_str()); auto cc = __String::createWithFormat("Bullet: %d",bb); bulletLabel = Label::createWithSystemFont(cc->getCString(), "fonts/Marker Felt.ttf", 32); bulletLabel->setPosition(Point(110, visibleSize.height-120)); bulletLabel->setColor(Color3B(0, 255, 0)); this->addChild(bulletLabel,1); //暂停的按钮 auto ub=Button::create(); ub->loadTextureNormal("newPause_Normal.png"); ub->loadTexturePressed("newPause_Select.png"); ub->setScale(0.4); ub->setScale9Enabled(true); ub->setContentSize(Size(128,128)); ub->setPressedActionEnabled(false); ub->setZoomScale(2.0f);//大于1有效小于1无效 ub->addClickEventListener([this](Ref*){ auto l = PauseLayer::createLayer(); l->setDelegate(this); //设置代理---------------------- this->addChild(l); auto listener = EventListenerTouchOneByOne::create(); listener->setSwallowTouches(true); listener->onTouchBegan=([](Touch*, Event*){ return true; }); _eventDispatcher->addEventListenerWithSceneGraphPriority(listener, l); Director::getInstance()->pause(); }); ub->setPosition(Vec2(visibleSize.width-50,50)); this->addChild(ub); }
void GameScene36::initKey() { //键,12个键的位置 Point pos[12] = {Point(252, 421), Point(375, 421), Point(503, 421), Point(255, 335), Point(375, 335), Point(500, 335), Point(262, 253), Point(375, 253), Point(495, 253), Point(271, 162), Point(375, 162), Point(490, 162)}; //键,随机12个键的位置 int randPos[12]={0,1,2,3,4,5,6,7,8,9,10,11}; std::uniform_int_distribution<unsigned> u(0,11); std::default_random_engine e; e.seed((unsigned)time(NULL)); for (int i = 0; i < 12; i++) { int random_number = u(e); swap(randPos[i], randPos[random_number]); } //加入键 auto key0 = Button::create(); key0->setPosition(pos[randPos[0]]); key0->loadTextureNormal("normal0.png", UI_TEX_TYPE_PLIST); key0->loadTexturePressed("pressed0.png", UI_TEX_TYPE_PLIST); key0->addTouchEventListener(this, toucheventselector(GameScene36::keyCallBack0)); this->addChild(key0); auto key1 = Button::create(); key1->setPosition(pos[randPos[1]]); key1->loadTextureNormal("normal1.png", UI_TEX_TYPE_PLIST); key1->loadTexturePressed("pressed1.png", UI_TEX_TYPE_PLIST); key1->addTouchEventListener(this, toucheventselector(GameScene36::keyCallBack1)); this->addChild(key1); auto key2 = Button::create(); key2->setPosition(pos[randPos[2]]); key2->loadTextureNormal("normal2.png", UI_TEX_TYPE_PLIST); key2->loadTexturePressed("pressed2.png", UI_TEX_TYPE_PLIST); key2->addTouchEventListener(this, toucheventselector(GameScene36::keyCallBack2)); this->addChild(key2); auto key3 = Button::create(); key3->setPosition(pos[randPos[3]]); key3->loadTextureNormal("normal3.png", UI_TEX_TYPE_PLIST); key3->loadTexturePressed("pressed3.png", UI_TEX_TYPE_PLIST); key3->addTouchEventListener(this, toucheventselector(GameScene36::keyCallBack3)); this->addChild(key3); auto key4 = Button::create(); key4->setPosition(pos[randPos[4]]); key4->loadTextureNormal("normal4.png", UI_TEX_TYPE_PLIST); key4->loadTexturePressed("pressed4.png", UI_TEX_TYPE_PLIST); key4->addTouchEventListener(this, toucheventselector(GameScene36::keyCallBack4)); this->addChild(key4); auto key5 = Button::create(); key5->setPosition(pos[randPos[5]]); key5->loadTextureNormal("normal5.png", UI_TEX_TYPE_PLIST); key5->loadTexturePressed("pressed5.png", UI_TEX_TYPE_PLIST); key5->addTouchEventListener(this, toucheventselector(GameScene36::keyCallBack5)); this->addChild(key5); auto key6 = Button::create(); key6->setPosition(pos[randPos[6]]); key6->loadTextureNormal("normal6.png", UI_TEX_TYPE_PLIST); key6->loadTexturePressed("pressed6.png", UI_TEX_TYPE_PLIST); key6->addTouchEventListener(this, toucheventselector(GameScene36::keyCallBack6)); this->addChild(key6); auto key7 = Button::create(); key7->setPosition(pos[randPos[7]]); key7->loadTextureNormal("normal7.png", UI_TEX_TYPE_PLIST); key7->loadTexturePressed("pressed7.png", UI_TEX_TYPE_PLIST); key7->addTouchEventListener(this, toucheventselector(GameScene36::keyCallBack7)); this->addChild(key7); auto key8 = Button::create(); key8->setPosition(pos[randPos[8]]); key8->loadTextureNormal("normal8.png", UI_TEX_TYPE_PLIST); key8->loadTexturePressed("pressed8.png", UI_TEX_TYPE_PLIST); key8->addTouchEventListener(this, toucheventselector(GameScene36::keyCallBack8)); this->addChild(key8); auto key9 = Button::create(); key9->setPosition(pos[randPos[9]]); key9->loadTextureNormal("normal9.png", UI_TEX_TYPE_PLIST); key9->loadTexturePressed("pressed9.png", UI_TEX_TYPE_PLIST); key9->addTouchEventListener(this, toucheventselector(GameScene36::keyCallBack9)); this->addChild(key9); auto key10 = Button::create(); key10->setPosition(pos[randPos[10]]); key10->loadTextureNormal("normalok.png", UI_TEX_TYPE_PLIST); key10->loadTexturePressed("pressedok.png", UI_TEX_TYPE_PLIST); key10->addTouchEventListener(this, toucheventselector(GameScene36::keyCallBack10)); this->addChild(key10); auto key11 = Button::create(); key11->setPosition(pos[randPos[11]]); key11->loadTextureNormal("normalpoint.png", UI_TEX_TYPE_PLIST); key11->loadTexturePressed("pressedpoint.png", UI_TEX_TYPE_PLIST); key11->addTouchEventListener(this, toucheventselector(GameScene36::keyCallBack11)); this->addChild(key11); }