Ejemplo n.º 1
0
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);


}
Ejemplo n.º 3
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);
}
Ejemplo n.º 4
0
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;
}
Ejemplo n.º 5
0
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);
}
Ejemplo n.º 6
0
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);

}
Ejemplo n.º 7
0
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);

}