void DialogLayer::onEnter() { Layer::onEnter(); Size winSize = Director::getInstance()->getWinSize(); Point pCenter = Point(winSize.width / 2, winSize.height / 2); Size contentSize; // 设定好参数,在运行时加载 if (getContentSize().equals(Size::ZERO)) { getSpriteBackGround()->setPosition(winSize.width / 2, winSize.height / 2); this->addChild(getSpriteBackGround(), 0, 0); contentSize = getSpriteBackGround()->getTexture()->getContentSize(); } else { Scale9Sprite *background = getSprite9BackGround(); background->setContentSize(getContentSize()); background->setPosition(winSize.width / 2, winSize.height / 2); this->addChild(background, 0, 0); contentSize = getContentSize(); } // 添加按钮,并设置其位置 this->addChild(getMenuButton()); float btnWidth = contentSize.width / (getMenuButton()->getChildrenCount() + 1); Vector<Node*> vecArray = getMenuButton()->getChildren(); Ref* pObj = NULL; int i = 0; for(auto& e : vecArray){ Node* node = dynamic_cast<Node*>(e); node->setPosition(Point(winSize.width/2 - contentSize.width/2+btnWidth*(i+1),winSize.height/2-contentSize.height/3)); i++; } // 显示对话框标题 if (getLabelTitle()){ getLabelTitle()->setPosition(pCenter + Vec2(0, contentSize.height / 2 - 30.0f)); this->addChild(getLabelTitle()); } // 显示文本内容 if (getLabelContentText()){ LabelTTF* ltf = getLabelContentText(); ltf->setPosition(winSize.width / 2, winSize.height / 2 + 20); //ltf->setDimensions(Size(contentSize.width - m_contentPadding * 2, contentSize.height - m_contentPaddingTop)); ltf->setHorizontalAlignment(kCCTextAlignmentLeft); this->addChild(ltf); } // 弹出效果 Action* popupLayer = Sequence::create(ScaleTo::create(0.0, 0.0), ScaleTo::create(0.06, 1.05), ScaleTo::create(0.08, 0.95), ScaleTo::create(0.08, 1.0), NULL); this->runAction(popupLayer); }
void SliderLoader::onDone(cocos2d::Node * pNode, cocos2d::Node * pParent, CCBReader * ccbReader) { Scale9Sprite* background = Scale9Sprite::createWithSpriteFrame(this->_backgroundSprite); background->setContentSize(_contentSize); Sprite* progressSprite = Sprite::create(); progressSprite->setContentSize(_contentSize); progressSprite->addChild(background); background->setAnchorPoint(Point(0.0, 0.5)); Sprite* sprite = Sprite::create(); sprite->setContentSize(_contentSize); sprite->setAnchorPoint(Point(0.0, 0.0)); ((ControlSlider*)pNode)->setContentSize(_contentSize); if (_selectedHandleSprite) ((ControlSlider *)pNode)->initWithSprites(sprite, progressSprite, Sprite::createWithSpriteFrame(this->_handleSprite), Sprite::createWithSpriteFrame(this->_selectedHandleSprite)); else ((ControlSlider *)pNode)->initWithSprites(sprite, progressSprite, Sprite::createWithSpriteFrame(this->_handleSprite)); ((ControlSlider*)pNode)->setAnchorPoint(Point(0.0, 0.25)); _backgroundSprite->release(); _handleSprite->release(); if (_selectedHandleSprite) _selectedHandleSprite->release(); // ((ControlSlider *)pNode)->setMaximumValue(100); // ((ControlSlider *)pNode)->setMinimumValue(0); }
void PopupLayer::onEnter(){ LayerColor::onEnter(); Size winSize = CCDirector::getInstance()->getWinSize(); Point pCenter = Point(winSize.width / 2, winSize.height / 2); // Size contentSize ; // 设定好参数,在运行时加载 //如果没有设置 ContentSize ,那么采取的方案是,窗口大小与传入图片一样大 // if (getContentSize().equals(this->getParent()->getContentSize())) { // getSpriteBackGround()->setPosition(ccp(winSize.width / 2, winSize.height / 2)); // this->addChild(getSpriteBackGround(), 0, 0); // contentSize = getSpriteBackGround()->getTexture()->getContentSize(); // } else { // Scale9Sprite *background = getSprite9BackGround(); // background->setContentSize(getContentSize()); // background->setPosition(ccp(winSize.width / 2, winSize.height / 2)); // this->addChild(background, 0, 0); // contentSize = getContentSize(); // } //添加背景图片 Scale9Sprite *background = getSprite9BackGround(); background->setContentSize(m_dialogContentSize); background->setPosition(Point(winSize.width / 2, winSize.height / 2)); this->addChild(background,0,0); // 弹出效果 Action* popupLayer = Sequence::create( ScaleTo::create(0.0, 0.0), ScaleTo::create(0.2, 1.05), ScaleTo::create(0.2, 0.95), ScaleTo::create(0.1, 1.0), CallFunc::create(CC_CALLBACK_0(PopupLayer::backgroundFinish,this)), NULL ); background->runAction(popupLayer); }
bool SelectBackgroundLayer::init() { auto listenerkeyPad = EventListenerKeyboard::create(); listenerkeyPad->onKeyReleased = CC_CALLBACK_2(SelectBackgroundLayer::onKeyReleased, this); _eventDispatcher->addEventListenerWithSceneGraphPriority(listenerkeyPad, this); //╪сть╠Ё╬╟м╪ Scale9Sprite *background = Scale9Sprite::createWithSpriteFrameName("selectSceneBackground.jpg"); background->setContentSize(Size(Director::getInstance()->getWinSize().width, Director::getInstance()->getWinSize().height)); background->setAnchorPoint(Point(0, 0)); this->addChild(background); Sprite* bottomOfLevel1 = Sprite::createWithSpriteFrameName("bottomOfpicture.png"); bottomOfLevel1->setAnchorPoint(Point(0, 0.5)); bottomOfLevel1->setScale(1.1); //bottomOfLevel->setRotation(90); bottomOfLevel1->setPosition(70, 360); bottomOfLevel1->setOpacity(140); this->addChild(bottomOfLevel1); Sprite* blueBottom1 = Sprite::createWithSpriteFrameName("bottomOfpic.png"); blueBottom1->setAnchorPoint(Point(0, 0.5)); blueBottom1->setScale(0.65); //bottomOfLevel->setRotation(90); blueBottom1->setPosition(75, 295); this->addChild(blueBottom1); Sprite* bottomOfLevel2 = Sprite::createWithSpriteFrameName("bottomOfpicture.png"); bottomOfLevel2->setAnchorPoint(Point(0, 0.5)); bottomOfLevel2->setScale(1.1); //bottomOfLevel->setRotation(90); bottomOfLevel2->setPosition(70,220); bottomOfLevel2->setOpacity(140); this->addChild(bottomOfLevel2); Sprite* blueBottom2 = Sprite::createWithSpriteFrameName("bottomOfpic.png"); blueBottom2->setAnchorPoint(Point(0, 0.5)); blueBottom2->setScale(0.65); //bottomOfLevel->setRotation(90); blueBottom2->setPosition(75, 155); this->addChild(blueBottom2); Sprite* bottomOfLevel3 = Sprite::createWithSpriteFrameName("bottomOfpicture.png"); bottomOfLevel3->setAnchorPoint(Point(0, 0.5)); bottomOfLevel3->setScale(1.1); bottomOfLevel3->setPosition(70, 80); bottomOfLevel3->setOpacity(140); this->addChild(bottomOfLevel3); Sprite* blueBottom3 = Sprite::createWithSpriteFrameName("bottomOfpic.png"); blueBottom3->setAnchorPoint(Point(0, 0.5)); blueBottom3->setScale(0.65); blueBottom3->setPosition(75, 15); this->addChild(blueBottom3); MenuItemSprite* blank1 = MenuItemSprite::create(Sprite::createWithSpriteFrameName("img_bg_1.jpg"), Sprite::createWithSpriteFrameName("img_bg_1.jpg"), CC_CALLBACK_1(SelectBackgroundLayer::selectCheckPoint_1, this)); Menu* menuBlank1 = Menu::create(blank1, nullptr); menuBlank1->setScale(0.15f); menuBlank1->setAnchorPoint(Point(0, 0)); menuBlank1->setPosition(120, 365);//100 this->addChild(menuBlank1); MenuItemSprite* blank2 = MenuItemSprite::create(Sprite::createWithSpriteFrameName("img_bg_2.jpg"), Sprite::createWithSpriteFrameName("img_bg_2.jpg"), CC_CALLBACK_1(SelectBackgroundLayer::selectCheckPoint_2, this)); Menu* menuBlank2 = Menu::create(blank2, nullptr); menuBlank2->setScale(0.15f); menuBlank2->setAnchorPoint(Point(0, 0)); menuBlank2->setPosition(195, 365); this->addChild(menuBlank2); MenuItemSprite* blank3 = MenuItemSprite::create(Sprite::createWithSpriteFrameName("img_bg_3.jpg"), Sprite::createWithSpriteFrameName("img_bg_3.jpg"), CC_CALLBACK_1(SelectBackgroundLayer::selectCheckPoint_3, this)); Menu* menuBlank3 = Menu::create(blank3, nullptr); menuBlank3->setScale(0.15f); menuBlank3->setAnchorPoint(Point(0, 0)); menuBlank3->setPosition(270, 365); this->addChild(menuBlank3); MenuItemSprite* blank4 = MenuItemSprite::create(Sprite::createWithSpriteFrameName("img_bg_4.jpg"), Sprite::createWithSpriteFrameName("img_bg_4.jpg"), CC_CALLBACK_1(SelectBackgroundLayer::selectCheckPoint_4, this)); Menu* menuBlank4 = Menu::create(blank4, nullptr); menuBlank4->setScale(0.15f); menuBlank4->setAnchorPoint(Point(0, 0)); menuBlank4->setPosition(195, 225);//590 this->addChild(menuBlank4); MenuItemSprite* blank5 = MenuItemSprite::create(Sprite::createWithSpriteFrameName("img_bg_5.jpg"), Sprite::createWithSpriteFrameName("img_bg_5.jpg"), CC_CALLBACK_1(SelectBackgroundLayer::selectCheckPoint_5, this)); Menu* menuBlank5 = Menu::create(blank5, nullptr); menuBlank5->setScale(0.15f); menuBlank5->setAnchorPoint(Point(0, 0)); menuBlank5->setPosition(195, 85);//590 this->addChild(menuBlank5); // Sprite* blank2 = Sprite::createWithSpriteFrameName("img_bg_2.jpg"); // blank2->setScale(0.3); // blank2->setPosition(365, 590); // this->addChild(blank2); // Sprite* blank2_locked = Sprite::createWithSpriteFrameName("locked.png"); // blank2_locked->setPosition(365, 590); // this->addChild(blank2_locked); // // Sprite* blank3 = Sprite::createWithSpriteFrameName("img_bg_3.jpg"); // blank3->setScale(0.3); // blank3->setPosition(565, 590); // this->addChild(blank3); // Sprite* blank3_locked = Sprite::createWithSpriteFrameName("locked.png"); // blank3_locked->setPosition(565, 590); // this->addChild(blank3_locked); // Sprite* blank4 = Sprite::createWithSpriteFrameName("img_bg_4.jpg"); // blank4->setScale(0.3); // blank4->setPosition(165, 390); // this->addChild(blank4); // Sprite* blank4_locked = Sprite::createWithSpriteFrameName("locked.png"); // blank4_locked->setPosition(165, 390); // this->addChild(blank4_locked); // // Sprite* blank5 = Sprite::createWithSpriteFrameName("img_bg_5.jpg"); // blank5->setScale(0.3); // blank5->setPosition(365, 390); // this->addChild(blank5); // Sprite* blank5_locked = Sprite::createWithSpriteFrameName("locked.png"); // blank5_locked->setPosition(365, 390); // this->addChild(blank5_locked); // // Sprite* blank6 = Sprite::createWithSpriteFrameName("blank.png"); // blank6->setPosition(565, 390); // blank6->setScale(0.6); // this->addChild(blank6); // Sprite* blank6_locked = Sprite::createWithSpriteFrameName("locked.png"); // blank6_locked->setPosition(565, 390); // this->addChild(blank6_locked); // TTFConfig ttfConfig("fonts/SIMLI.TTF", 50); // // Label* titleLabel = Label::createWithTTF(ttfConfig, "ChoseCheckPoint", TextHAlignment::CENTER); // titleLabel->enableShadow(); // titleLabel->setColor(Color3B(255, 201, 37)); // titleLabel->setPosition(Director::getInstance()->getWinSize().width / 2, Director::getInstance()->getWinSize().height - 250); // this->addChild(titleLabel); return true; }
void PopLayer::onEnter() { Layer::onEnter(); Size winSize = Director::getInstance()->getVisibleSize(); Vec2 pCenter(winSize.width / 2, winSize.height / 2); Size contentSize; // 设定好参数,在运行时加载 if (getContentSize().equals(Size::ZERO)) { getSpriteBackGround()->setPosition(Vec2(winSize.width / 2, winSize.height / 2)); this->addChild(getSpriteBackGround(), 0, 0); contentSize = getSpriteBackGround()->getTexture()->getContentSize(); } else { Scale9Sprite *background = getSprite9BackGround(); background->setContentSize(getContentSize()); background->setPosition(Vec2(winSize.width / 2, winSize.height / 2)); this->addChild(background, 0, 0); contentSize = getContentSize(); } // 添加按钮,并设置其位置 this->addChild(getMenuButton()); float btnWidth = contentSize.width / (getMenuButton()->getChildrenCount() + 1); Vector<Node *> array = getMenuButton()->getChildren(); getMenuButton()->alignItemsHorizontallyWithPadding(50); getMenuButton()->setPosition(Vec2(winSize.width / 2, winSize.height / 2 - contentSize.height / 3)); // int i = 0; // for(auto &bt: array) // { // Node* node = dynamic_cast<Node*>(bt); // node->setPosition(Vec2( winSize.width / 2 - contentSize.width / 2 + btnWidth * (i + 1), winSize.height / 2 - contentSize.height / 3)); // i++; // } // 显示对话框标题 if (getLabelTitle()){ getLabelTitle()->setPosition((pCenter + Vec2(0, contentSize.height / 2 - 35.0f))); this->addChild(getLabelTitle()); } if(getImgTitle()) { getImgTitle()->setPosition((pCenter + Vec2(0, contentSize.height / 2 - 40.0f))); this->addChild(getImgTitle()); } // 显示文本内容 if (getLabelContentText()){ LabelTTF* ltf = getLabelContentText(); //ltf->setPosition(Vec2(winSize.width / 2, winSize.height / 2)); ltf->setPosition(pCenter); ltf->setDimensions(Size(contentSize.width - m_contentPadding * 2, contentSize.height - m_contentPaddingTop)); ltf->setHorizontalAlignment(TextHAlignment::LEFT); this->addChild(ltf); } // 弹出效果 Action* popupLayer = Sequence::create(ScaleTo::create(0.0, 0.0), ScaleTo::create(0.06, 1.05), ScaleTo::create(0.08, 0.95), ScaleTo::create(0.08, 1.0), NULL); this->runAction(popupLayer); }
void PopupLayer::onEnter(){ CCLayer::onEnter(); CCSize winSize = CCDirector::sharedDirector()->getWinSize(); CCPoint pCenter = ccp(winSize.width / 2, winSize.height / 2); CCSize contentSize; // 设定好参数,在运行时加载 if (getContentSize().equals(CCSizeZero)) { getSpriteBackGround()->setPosition(ccp(winSize.width / 2, winSize.height / 2)); this->addChild(getSpriteBackGround(), 0, 0); contentSize = getSpriteBackGround()->getTexture()->getContentSize(); } else { Scale9Sprite *background = getSprite9BackGround(); background->setContentSize(getContentSize()); background->setPosition(ccp(winSize.width / 2, winSize.height / 2)); this->addChild(background, 0, 0); contentSize = getContentSize(); } // 添加按钮,并设置其位置 this->addChild(getMenuButton()); float btnWidth = contentSize.width / (getMenuButton()->getChildrenCount() + 1); // Array* array = getMenuButton()->getChildren(); Vector<Node*>& array = getMenuButton()->getChildren(); Object* pObj = NULL; int i = 0; /* vector<NODE>::iterator it; for (it=v.begin(); it!=v.end(); it++) { v[*it]->id=2; } */ Vector<Node*>::iterator it; for (it=array.begin() ; it!=array.end(); it++) { Node* node = dynamic_cast<Node*>(pObj); node->setPosition(ccp( winSize.width / 2 - contentSize.width / 2 + btnWidth * (i + 1), winSize.height / 2 - contentSize.height / 3)); i++; } // 显示对话框标题 if (getLabelTitle()){ getLabelTitle()->setPosition(ccpAdd(pCenter, ccp(0, contentSize.height / 2 - 35.0f))); this->addChild(getLabelTitle()); } // 显示文本内容 if (getLabelContentText()){ CCLabelTTF* ltf = getLabelContentText(); ltf->setPosition(ccp(winSize.width / 2, winSize.height / 2)); ltf->setDimensions(CCSizeMake(contentSize.width - m_contentPadding * 2, contentSize.height - m_contentPaddingTop)); ltf->setHorizontalAlignment(kCCTextAlignmentLeft); this->addChild(ltf); } // 弹出效果 CCAction* popupLayer = CCSequence::create(CCScaleTo::create(0.0, 0.0), CCScaleTo::create(0.06, 1.05), CCScaleTo::create(0.08, 0.95), CCScaleTo::create(0.08, 1.0), NULL); this->runAction(popupLayer); }
void PopupLayer::onEnter() { Layer::onEnter(); //Size winSize = Director::getInstance()->getWinSize(); Point pCenter = ccp(winSize.width / 2, winSize.height / 2); Size contentSize; // 设定好参数,在运行时加载 if (getContentSize().equals(CCSizeZero)) { getSpriteBackGround()->setPosition(ccp(winSize.width / 2, winSize.height / 2)); this->addChild(getSpriteBackGround(), 0, 0); contentSize = getSpriteBackGround()->getTexture()->getContentSize(); } else { Scale9Sprite *background = getSprite9BackGround(); background->setContentSize(getContentSize()); background->setPosition(ccp(winSize.width / 2, winSize.height / 2)); this->addChild(background, 0, 0); contentSize = getContentSize(); } // 添加按钮,并设置其位置 this->addChild(getMenuButton()); float btnWidth = contentSize.width / (getMenuButton()->getChildrenCount() + 1); Vector<Node*> vecArray = getMenuButton()->getChildren(); int j=0; for(auto it=vecArray.begin();it!=vecArray.end();it++) { Node* node = dynamic_cast<Node*>(*it); node->setPosition(Point(winSize.width/2 - contentSize.width/2+btnWidth*(j+1),winSize.height/2-contentSize.height/3)); j++; } // 显示对话框标题 if (getLabelTitle()) { getLabelTitle()->setPosition(ccpAdd(pCenter, ccp(0, contentSize.height / 2 -20))); getLabelTitle()->setColor(ccc3(0,0,0)); this->addChild(getLabelTitle()); } switch(pop_type) { case LOTTERY: { setLotteryContext(contentSize); break; } case LOTTERY_PUBLISH: { setPublishLotteryContext(contentSize); break; } case LOADGAME: { setLoadGameContext(contentSize); break; } default: { // 显示文本内容 if (getLabelContentText()) { LabelTTF* ltf = getLabelContentText(); ltf->setPosition(ccp(winSize.width / 2, winSize.height / 2)); ltf->setDimensions(CCSizeMake(contentSize.width - m_contentPadding * 2, contentSize.height - m_contentPaddingTop)); ltf->setHorizontalAlignment(kCCTextAlignmentLeft); ltf->setColor(ccc3(0,0,0)); this->addChild(ltf); } } } // 弹出效果 Action* popupLayer = Sequence::create(ScaleTo::create(0.0, 0.0), ScaleTo::create(0.15, 1.05), ScaleTo::create(0.08, 0.95), ScaleTo::create(0.08, 1.0), NULL); this->runAction(popupLayer); }