Example #1
0
void ThirdServerScene::toServerList() {
    if (this->getChildByTag(loginLayerTag) != NULL) {
        this->removeChildByTag(loginLayerTag,true);
    }
    CCLayer* loginLayer = CCLayer::create();
    loginLayer->setTag(loginLayerTag);
    loginLayer->setPosition(ccp(0,0));
    
    CCLayer* displayLayer = CCLayer::create();
    CCSprite* loginBack = CCSprite::createWithSpriteFrameName("serverShadow.png");
    loginBack->setPosition(ccp(0,0));
    loginBack->setAnchorPoint(ccp(1,0));
    loginBack->setScale(2);
    displayLayer->addChild(loginBack);
    displayLayer->setTag(loginDisplayLayerTag);
    loginLayer->addChild(displayLayer);
    displayLayer->setPosition(ccp(winSize.width-645,960));
    
    CCSprite* serverListLabel = CCSprite::createWithSpriteFrameName("serverlistTipLabel.png");
    serverListLabel->setPosition(ccp(-285,325));
    displayLayer->addChild(serverListLabel);
    
    //    CCSprite* upTip = CCSprite::createWithSpriteFrameName("serverlistTipCornor.png");
    //    upTip->setPosition(ccp(-300,65));
    //    upTip->setRotation(180);
    //    upTip->setScale(0.66);
    //    upTip->setColor(ccc3(200,200,200));
    //    upTip->setTag(upTipTag);
    //
    //    displayLayer->addChild(upTip);
    
    CCSprite* downTip = CCSprite::createWithSpriteFrameName("serverlistTipCornor.png");
    downTip->setPosition(ccp(-300,50));
    downTip->setScale(0.66);
    downTip->setColor(ccc3(200,200,200));
    downTip->setTag(downTipTag);
    downTip->runAction(CCRepeatForever::create(static_cast<CCSequence*>(CCSequence::create( CCEaseIn::create(CCMoveBy::create(0.25,ccp(0,-10)),1.5),CCEaseOut::create(CCMoveBy::create(0.25,ccp(0,10)),1.5),NULL))));
    
    displayLayer->addChild(downTip);
    displayLayer->runAction(CCEaseElasticOut::create(CCMoveTo::create(0.35, ccp(winSize.width-394,280)), 1));
    CocosDenshion::SimpleAudioEngine::sharedEngine()->playEffect("sfx_popCreator.mp3");
    CCObject* obj;
    int i = 0;
    
    ServerSelectScroll2* scroll = ServerSelectScroll2::create(-507);
    scroll->setOriPosition(ccp(winSize.width-890,370));
    scroll->setContentSize(CCSizeMake(450, 200));
    
    scroll->setMapSize(CCSizeMake(450, 50*(beans->count()+3)));
    scroll->setPosition(ccp(winSize.width-765+0.33*50*(beans->count()-1)-224,-scroll->getMapSize().height+scroll->getViewSize().height+scroll->getOriPosition().y+680));
    
    scroll->runAction(CCEaseElasticOut::create(CCMoveBy::create(0.35, ccp(224,-680)), 1));
    CCARRAY_FOREACH(beans,obj) {
        SeverInfoBean* bean = (SeverInfoBean*)obj;
        CCSprite* layer = CCSprite::create("transparent.png");
        //        CCSprite* transParent = CCSprite::create("transparent.png");
        layer->setScaleX(270/layer->getContentSize().width);
        layer->setScaleY(33/layer->getContentSize().height);
        layer->setContentSize(CCSizeMake(225,33));
        layer->setOpacity(100);
        
        
        CCLabelTTF* label = CCLabelTTF::create(bean->getServerName()->getCString(),"Arial",33);
        label->setPosition(ccp(90/layer->getScaleX(),16/layer->getScaleY()));
        layer->addChild(label,2);
        label->setTag(serverNameLabelTag);
        label->setScaleX(1/layer->getScaleX());
        label->setScaleY(1/layer->getScaleY());
        if (bean->serverId == cacheServerId) {
            label->setColor(ccc3(155,155,155));
        }
        CCLabelTTF* stateLabel =CCLabelTTF::create(bean->getServerStatus()->getCString(),"Arial",30);
        stateLabel->setPosition(ccp(236/layer->getScaleX(),16/layer->getScaleY()));
        if (bean->getServerStatus()->compare("正常") == 0 || bean->getServerStatus()->compare("推荐") == 0) {
            stateLabel->setColor(ccc3(0,255,0));
        } else if (bean->getServerStatus()->compare("繁忙") == 0) {
            stateLabel->setColor(ccc3(255,255,0));
        } else if (bean->getServerStatus()->compare("火爆") == 0) {
            stateLabel->setColor(ccc3(167,87,168));
        } else {
            stateLabel->setColor(ccc3(166,166,166));
        }
        stateLabel->setScaleX(1/layer->getScaleX());
        stateLabel->setScaleY(1/layer->getScaleY());
        layer->addChild(stateLabel,2);
        
        
        MyMenuItem* serverItem = MyMenuItem::create(layer,this,menu_selector(ThirdServerScene::toChangeServer));
        
        serverItem->setPosition(ccp(-(i+3)*17+135,26+50*(i+3)));
        //        serverItem->setAnchorPoint(ccp(0,0));
        serverItem->setUserObject(bean);
        scroll->addChild(serverItem);
        //        dividingLength*i+33
        
        i++;
    }
Example #2
0
bool TujiLayer::init()
{
	if (!Layer::init())
	{
		return false;
	}

	m_iBeforeSel = 0;

	// 背景
	auto bgSprite = Sprite::create("PhotoGalleryBackground.png");
	bgSprite->setPosition(WINSIZE.width / 2, WINSIZE.height / 2);
	this->addChild(bgSprite);

	auto closeItem = MenuItemSprite::create(
		Sprite::createWithSpriteFrame(SpriteFrameCache::getInstance()->getSpriteFrameByName("GalleryOffNormal.png")),
		Sprite::createWithSpriteFrame(SpriteFrameCache::getInstance()->getSpriteFrameByName("GalleryOffSelected.png")),
		[&](Ref * ref){
		PLAYEFFECT;
		//弹出场景
		Director::getInstance()->replaceScene(StartLayer::createScene()); });
	// 关闭按钮
	closeItem->setPosition(WINSIZE.width/2+580, WINSIZE.height/2+320);
	auto menu = Menu::create(closeItem, NULL);
	menu->setPosition(Point::ZERO);
	bgSprite->addChild(menu);

	// 怪物图鉴
// 	char *inBuf = "木\n桩\n怪";
// 	size_t inLen = strlen(inBuf);
// 	size_t outLen = inLen << 1;
// 	char *outBuf = (char *)malloc(outLen);
// 	gbk2utf8(inBuf, inLen, outBuf, outLen);

	XMLParser *pXmlParser = XMLParser::parseWithFile("tujiLayer.xml");
	String *mz = pXmlParser->getString("muzhuang");

	m_pMZ_Pic = Sprite::createWithSpriteFrame(SpriteFrameCache::getInstance()->getSpriteFrameByName("ManWood.png"));
	m_pMZ_Txt = Sprite::createWithSpriteFrame(SpriteFrameCache::getInstance()->getSpriteFrameByName("Text.png"));
	m_pMZLabel = LabelTTF::create(mz->getCString(), "", 30);
	m_pMZLabel->setColor(ccc3(0, 255, 255));

//  free(outBuf);
	m_pLion_Pic = Sprite::createWithSpriteFrame(SpriteFrameCache::getInstance()->getSpriteFrameByName("ManLion.png"));
	m_pLionLabel = LabelTTF::create("狮\n子\n怪 ", "", 30);
	m_pLionLabel->setColor(ccc3(0, 255, 255));
	m_pStone_Pic = Sprite::createWithSpriteFrame(SpriteFrameCache::getInstance()->getSpriteFrameByName("ManStone.png"));
	m_pStoneLabel = LabelTTF::create("石\n头\n怪 ", "", 30);
	m_pStoneLabel->setColor(ccc3(0, 255, 255));
	m_pStoneLabel->setRotation(90);

	m_pMZ_Pic->setPosition(WINSIZE.width / 2 + 50, WINSIZE.height / 2);
	m_pMZ_Pic->setVisible(true);
	m_pMZ_Txt->setPosition(WINSIZE.width / 2 + 460, WINSIZE.height / 2 );
	m_pMZ_Txt->setVisible(true);
	m_pMZLabel->setPosition(WINSIZE.width / 2 + 265, WINSIZE.height / 2 - 120);
	m_pMZLabel->setVisible(true);

	m_pLion_Pic->setPosition(WINSIZE.width / 2+50, WINSIZE.height / 2);
	m_pLion_Pic->setVisible(false);
	m_pLionLabel->setPosition(WINSIZE.width / 2 + 265, WINSIZE.height / 2 - 120);
	m_pLionLabel->setVisible(false);

	m_pStone_Pic->setPosition(WINSIZE.width / 2 , WINSIZE.height / 2 );
	m_pStone_Pic->setVisible(false);
	m_pStoneLabel->setPosition(WINSIZE.width / 2 + 265, WINSIZE.height / 2 - 120);
	m_pStoneLabel->setVisible(false);

	bgSprite->addChild(m_pMZ_Pic);
	bgSprite->addChild(m_pMZ_Txt);
	bgSprite->addChild(m_pMZLabel);
	bgSprite->addChild(m_pLion_Pic);
	bgSprite->addChild(m_pLionLabel);
	bgSprite->addChild(m_pStone_Pic);
	bgSprite->addChild(m_pStoneLabel);

	listView = ListView::create();
	listView->setDirection(SCROLLVIEW_DIR_VERTICAL);
	listView->setTouchEnabled(true);
	listView->setBounceEnabled(true);  // 反弹
	listView->setSize(Size(445, 500));
	listView->ignoreContentAdaptWithSize(false);
	listView->setAnchorPoint(Point(0.0, 0.0));
	listView->setPosition(Point(0, WINSIZE.height / 4));
	listView->addEventListenerListView(this, SEL_ListViewEvent(&TujiLayer::selectedItemEvent));
	
	bgSprite->addChild(listView);

	Button* default_button = Button::create("Cell_0.png", "CellSel_0.png", "", UI_TEX_TYPE_PLIST);
	
	default_button->setName("Title Button");

	Layout* default_item = Layout::create();
	default_item->setTouchEnabled(true);
	default_item->setSize(default_button->getSize());
	default_button->setPosition(Point(default_item->getSize().width / 2.0f,
	default_item->getSize().height / 2.0f));
	default_item->addChild(default_button);
	
	// set model 将创建的模板设置为项目模板  
	listView->setItemModel(default_item);


	// 1
	Button* custom_buttonMZ = Button::create("CellSel_0.png", "Cell_0.png", "", UI_TEX_TYPE_PLIST);
	custom_buttonMZ->setName("one Button");
	custom_buttonMZ->setScale9Enabled(true);
	custom_buttonMZ->setSize(default_button->getSize());
	Layout *custom_itemMZ = Layout::create();
	custom_itemMZ->setSize(custom_buttonMZ->getSize());
	custom_buttonMZ->setPosition(Point(custom_itemMZ->getSize().width / 2.0f, custom_itemMZ->getSize().height / 2.0f));
	custom_itemMZ->addChild(custom_buttonMZ);

	// 2
	Button* custom_buttonLion = Button::create("CellSel_1.png", "Cell_1.png", "", UI_TEX_TYPE_PLIST);
	custom_buttonLion->setName("two Button");
	custom_buttonLion->setScale9Enabled(true);
	custom_buttonLion->setSize(default_button->getSize());
	Layout *custom_itemLion = Layout::create();
	custom_itemLion->setSize(custom_buttonLion->getSize());
	custom_buttonLion->setPosition(Point(custom_itemLion->getSize().width / 2.0f, custom_itemLion->getSize().height / 2.0f));
	custom_itemLion->addChild(custom_buttonLion);

	// 3
	Button* custom_buttonStone = Button::create("CellSel_2.png", "Cell_2.png", "", UI_TEX_TYPE_PLIST);
	custom_buttonStone->setName("three Button");
	custom_buttonStone->setScale9Enabled(true);
	custom_buttonStone->setSize(default_button->getSize());
	Layout *custom_itemStone = Layout::create();
	custom_itemStone->setSize(custom_buttonStone->getSize());
	custom_buttonStone->setPosition(Point(custom_itemStone->getSize().width / 2.0f, custom_itemStone->getSize().height / 2.0f));
	custom_itemStone->addChild(custom_buttonStone);

	// 4
	Button* custom_buttonWood = Button::create("CellSel_3.png", "Cell_3.png", "", UI_TEX_TYPE_PLIST);
	custom_buttonWood->setName("four Button");
	custom_buttonWood->setScale9Enabled(true);
	custom_buttonWood->setSize(default_button->getSize());
	Layout *custom_itemWood = Layout::create();
	custom_itemWood->setSize(custom_buttonWood->getSize());
	custom_buttonWood->setPosition(Point(custom_itemWood->getSize().width / 2.0f, custom_itemWood->getSize().height / 2.0f));
	custom_itemWood->addChild(custom_buttonWood);

 	listView->pushBackCustomItem(custom_itemMZ);
 	listView->pushBackCustomItem(custom_itemLion);
	listView->pushBackCustomItem(custom_itemStone);
	listView->pushBackCustomItem(custom_itemWood);


	return true;
}
bool GameOverLayer::init()
{
	bool bRet = false;
	do
	{
		CC_BREAK_IF(!CCLayer::init());
		//停止背景音乐,播放gameover的音效
		if (CocosDenshion::SimpleAudioEngine::sharedEngine()->isBackgroundMusicPlaying())
		{
			CocosDenshion::SimpleAudioEngine::sharedEngine()->stopBackgroundMusic();
		}
		CocosDenshion::SimpleAudioEngine::sharedEngine()->playEffect("sound/game_over.mp3");

		CCSize winSize = CCDirector::sharedDirector()->getWinSize();

		//加载gameover_background
		CCSprite* background = CCSprite::createWithSpriteFrame(CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName("gameover.png"));
		background->setPosition(ccp(winSize.width / 2, winSize.height / 2));
		this->addChild(background);

		//加载BackMenu
		CCSprite* normalBackToGame = CCSprite::createWithSpriteFrame(CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName("btn_finish.png"));//正常状态下的按钮图片
		CCSprite* pressedBackToGame = CCSprite::createWithSpriteFrame(CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName("btn_finish.png"));//按下状态下的按钮图片
		CCMenuItemImage* pBackItem = CCMenuItemImage::create();//创建menu的item
		pBackItem->initWithNormalSprite(normalBackToGame, pressedBackToGame, NULL, this, menu_selector(GameOverLayer::menuBackCallback));//设置
		pBackItem->setPosition(ccp(winSize.width - normalBackToGame->getContentSize().width / 2 - 10, normalBackToGame->getContentSize().height / 2 + 10));//位置
		CCMenu *menuBack = CCMenu::create(pBackItem, NULL);//创建menu并加入item
		menuBack->setPosition(Point::ZERO);//位置
		this->addChild(menuBack);//加入layer

		//加载score
		CCString* strScore = CCString::createWithFormat("%d", score);
		CCLabelBMFont* finalScore = CCLabelBMFont::create(strScore->_string.c_str(), "res/assets/font/font.fnt");
		finalScore->setColor(ccc3(143, 146, 147));
		finalScore->setPosition(ccp(winSize.width / 2, winSize.height / 2));
		this->addChild(finalScore);

		CCDelayTime* delay = CCDelayTime::create(1.0f);
		CCScaleTo* scalebig = CCScaleTo::create(1.0f, 3.0f);
		CCScaleTo* scalelittle = CCScaleTo::create(0.3f, 2.0f);
		CCCallFunc* showAD = CCCallFunc::create(this, callfunc_selector(GameOverLayer::showAD));
		CCFiniteTimeAction* sequence = CCSequence::create(delay, scalebig, scalelittle, showAD, NULL);
		finalScore->runAction(sequence);

		//加载历史最高分
		//CCLabelTTF* tip=CCLabelTTF::create("Congratulations! Your Score is","Monaco",20);
		//tip->setColor(ccc3(143,146,147));
		//tip->setPosition(ccp(finalScore->getPosition().x,finalScore->getPosition().y+finalScore->getContentSize().height+50));
		//this->addChild(tip);
		CCString* strHighestScore = CCString::createWithFormat("%d", highestHistoryScore);
		highestScore = CCLabelBMFont::create(strHighestScore->_string.c_str(), "res/assets/font/font.fnt");
		highestScore->setColor(ccc3(143, 146, 147));
		highestScore->setAnchorPoint(ccp(0, 0.5));//设置锚点,即为缩放等操作的发生点。
		highestScore->setPosition(ccp(140, winSize.height - 30));
		this->addChild(highestScore);
		//如果分数比最高分高,则更新最高分,并显示,播放动画
		if (score > highestHistoryScore)
		{
			CCUserDefault::sharedUserDefault()->setIntegerForKey("HighestScore", score);
			highestHistoryScore = score;
			CCDelayTime* delayChange = CCDelayTime::create(1.3f);
			CCMoveBy* moveOut = CCMoveBy::create(0.1f, ccp(0, 100));
			CCCallFuncN* beginChange = CCCallFuncN::create(this, callfuncN_selector(GameOverLayer::beginChangeHighestScore));
			CCMoveBy* moveIn = CCMoveBy::create(0.1f, ccp(0, -100));
			CCFiniteTimeAction* sequence = CCSequence::create(delayChange, moveOut, beginChange, moveIn, NULL);
			highestScore->runAction(sequence);
		}

		this->setKeypadEnabled(true);

		bRet = true;
	} while (0);
	return bRet;
}
Example #4
0
bool UIr_Layer::init(){
    if (!Layer::init()) {
        return false;
    }
   
    bag_open=false;
    rokerPosition=Vec2(150,150);
    workespaceopen=true;
    CCSprite *spRockerBG=CCSprite::create("CG-1086.png");
    spRockerBG->setPosition(rokerPosition);
    spRockerBG->setOpacity(50);
    addChild(spRockerBG,1);
    rockerBGR=spRockerBG->getContentSize().width*0.5;
    
    auto spRockerF = Sprite::create("CG-7005.png");
    spRockerF->setPosition(rokerPosition);
    addChild(spRockerF, 2,1);
    
    auto work = Sprite::create("work.png");
    work->setPosition(160,470);
    addChild(work,2,8);
    
    auto labelttf=Label::createWithSystemFont("任务:", "Arial", 16);
    labelttf->setAnchorPoint(Vec2(0,1));
    labelttf->setPosition(40,200);
    labelttf->setColor(ccc3(255, 0, 0));
    labelttf->setString("任务:从左下角离开去找刘备");
    work->addChild(labelttf,2,8);
    
    
    
 
    auto tol=MenuItemToggle::createWithCallback(CC_CALLBACK_1(UIr_Layer::callback1,this),
                                                MenuItemImage::create("close1.png", "close1.png"),
                                                MenuItemImage::create("open1.png", "open1.png"),
                                               
                                                NULL);
    tol->setPosition(24,613);
    //this->addChild(tol,2);
    
    auto item=MenuItemImage::create("CG-6997.png", "CG-6998.png", CC_CALLBACK_1(UIr_Layer::callback2,this));
    item->setPosition(500,600);
    
    //test_began
    auto item2=MenuItemImage::create("CG-1487.png", "CG-1486.png", CC_CALLBACK_1(UIr_Layer::callback3,this));
    item2->setPosition(600,600);
    
    //test_end
    auto menu=Menu::create(tol,item,item2,NULL);
    menu->setPosition(0,0);
    this->addChild(menu);
    
    
    auto attlistener=EventListenerTouchOneByOne::create();
    attlistener->onTouchBegan=[=](Touch*touch,Event*event){
        auto target=static_cast<Sprite*>(event->getCurrentTarget());
        Vec2 locationInNode=target->convertToNodeSpace(touch->getLocation());
        Size s=target->getContentSize();//点到判断碰撞
        Rect rect=Rect(0,0,s.width,s.height);
        if (rect.containsPoint(locationInNode)) {
            return  true;
        }
        return false;

           };
    
    attlistener->onTouchMoved=[&](Touch*touch,Event*event){
        Vec2 point=touch->getLocation();
        
        auto target=static_cast<Sprite*>(event->getCurrentTarget());
        if (sqrt(pow((rokerPosition.x-point.x),2)+pow((rokerPosition.y-point.y),2))>=rockerBGR){
           
            float angle=getRad(point);
            target->setPosition(ccpAdd(getAnglePosition(rockerBGR, angle),rokerPosition));
        }else{
            target->setPosition(target->getPosition()+touch->getDelta());
        }
       
        
         float angle=getRad(point);
        //CCLOG("hudu:%f",angle);
        if (angle<=PI/8&&angle>-PI/8) {
            type=1;
        }
        else if (angle>PI/8&&angle<=PI*3/8) {
            type=2;
        }
        else if (angle>PI*3/8&&angle<=PI*5/8) {
            type=3;
        }
        else if (angle>PI*5/8&&angle<=PI*7/8) {
            type=4;
        }
        else if (angle>PI*7/8||angle<=-PI*7/8) {
            type=5;
        }
        else if (angle>-PI*7/8&&angle<=-PI*5/8) {
            type=6;
        }
        else if (angle>-PI*5/8&&angle<=-PI*3/8) {
            type=7;
        }
        else if (angle>-PI*3/8&&angle<=-PI*1/8) {
            type=8;
        }
       // CCLOG("type:%d",type);
        

    };

    
    attlistener->onTouchEnded=[&](Touch*touch,Event*event){
        Sprite *spRockerF=(Sprite*)this->getChildByTag(1);
        spRockerF->runAction(CCMoveTo::create(0.05, rokerPosition));
            type=0;
    };
    Director::getInstance()->getEventDispatcher()->addEventListenerWithSceneGraphPriority(attlistener,spRockerF);
    
    
    
    return true;
}
bool HeadUpDisplay::init(){

	if(!CCMenu::init())
		return false;

	/* Adding a "close" button to exit. */
	CCMenuItemImage *pCloseItem = CCMenuItemImage::create("CloseNormal.png",
			"CloseSelected.png", this, menu_selector(HeadUpDisplay::menuCloseCallback));

	CCSize scrSize = CCDirector::sharedDirector()->getWinSize();
	CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize();
	CCPoint origin = CCDirector::sharedDirector()->getVisibleOrigin();
	pCloseItem->setPosition(
					ccp(origin.x + visibleSize.width - pCloseItem->getContentSize().width/2 ,
						origin.y + pCloseItem->getContentSize().height/2));
	this->addChild(pCloseItem,1);


	/* Mesh */
	CCSprite* mesh = CCSprite::create();
	mesh->setTextureRect(CCRect(0,0,scrSize.width,scrSize.height));
	mesh->setColor(ccc3(0,0,0));
	mesh->setOpacity(0);
	mesh->setAnchorPoint(ccp(0,0));
	mesh->setPosition(CCPointZero);
	mesh->setTag(_meshTag);
	this->addChild(mesh,0);


	/* Bubble Talk */
	CCSprite* bubble = CCSprite::create("bubbleTalk.png");
	CCPoint bblePos = scrSize/2;
	bubble->setPosition(bblePos);
	bubble->setScale(0);
	bubble->setTag(_bubbleTalkTag);
	this->addChild(bubble,0);


	/* Message */
	CCLabelTTF* labelMsg = CCLabelTTF::create("Bonjour!\n :)","Artial", 32);
	CCSize bubbleSize = bubble->getContentSize();
	labelMsg->setPosition(bubbleSize/2);
	labelMsg->setOpacity(0);
	labelMsg->setTag(_messageTag);
	bubble->addChild(labelMsg,0);


	/* Accept Button */
	CCMenuItemImage* acceptButton = CCMenuItemImage::create(
			"acceptButton.png","acceptButtonPressed.png", this, menu_selector(HeadUpDisplay::hideMessage));
	acceptButton->retain();
	CCSize aBtnSize = acceptButton->getContentSize();
	acceptButton->setPosition(ccp(
			bblePos.x + bubbleSize.width/2  - aBtnSize.width  * .25f,
			bblePos.y - bubbleSize.height/2 + aBtnSize.height * .25f));
	acceptButton->setVisible(false);
	this->addChild(acceptButton,0,_acceptButtonTag);

	this->setPosition(CCPointZero);

	return true;
}
Example #6
0
void MainGameScene::update(float dt)
{

	// update game scene
	
	//update character
	mainCharacter->Update(dt);

	// update blocks
	//iterate through the list
	std::list<ColorBlock*>::iterator it;
	//lets just pretend that no more than 5 blocks will be deleted in the same frame

	std::list<ColorBlock*>::iterator toDelete[5];
	int amountToDelete = 0;
	for (it = blocksList.begin(); it != blocksList.end(); it++)
	{
		// only process if the block isn't dying
		if (!(*it)->GetDying())
		{
			// check if it's time to kill the block
			if ((*it)->getPositionY() > 650.0f || (*it)->getPositionY() < -85.0f ||
				(*it)->getPositionX() < -20.0f || (*it)->getPositionX() > 850.0f)
			{
				if(amountToDelete < 5)
				{
					toDelete[amountToDelete] = it;
					amountToDelete++;
				}
			}
			else
			{
				// dont process if the block is already connected with the character
				if (!(*it)->GetAttached())
				{
					// process colision detection
					b2ContactEdge* edge = (*it)->GetBody()->GetContactList();
					while (edge != NULL) // if == null, no more collisions
					{
						if (edge->contact->IsTouching())
						{
							// iterate through the list of contacts
							// if collided with character, don't delete
							if (((CCSprite*)edge->contact->GetFixtureB()->GetBody()->GetUserData())->getTag() == CHARACTER_TAG ||
								((CCSprite*)edge->contact->GetFixtureA()->GetBody()->GetUserData())->getTag() == CHARACTER_TAG)
							{
								// the block collided with character
								(*it)->AttachTo(mainCharacter->GetBody());
							}
							// check if it's a attached block, so attached to this one
							else if (((CCSprite*)edge->contact->GetFixtureB()->GetBody()->GetUserData())->getTag() == BLOCK_TAG && 
								((CCSprite*)edge->contact->GetFixtureA()->GetBody()->GetUserData())->getTag() == BLOCK_TAG)
							{
								// check which one is the IT
								// attached based on this
								if (edge->contact->GetFixtureA()->GetBody() == (*it)->GetBody())
								{
									// make sure it's already attached
									if(((ColorBlock*)edge->contact->GetFixtureB()->GetBody()->GetUserData())->GetAttached() &&
										!((ColorBlock*)edge->contact->GetFixtureB()->GetBody()->GetUserData())->GetDying())
									{
										// attach on B fixture
										(*it)->AttachTo(edge->contact->GetFixtureB()->GetBody());
									}
								}
								else
								{
									if(((ColorBlock*)edge->contact->GetFixtureA()->GetBody()->GetUserData())->GetAttached() &&
										!((ColorBlock*)edge->contact->GetFixtureA()->GetBody()->GetUserData())->GetDying())
									{
										// attach on A fixture
										(*it)->AttachTo(edge->contact->GetFixtureA()->GetBody());
									}
								}
							}
						}
						edge = edge->next; // go to the next colision
					}
				}
				// now process those which are already attached to the character body
				else
				{
					(*it)->BuildConnections(NULL, -1);

					// check if one of the attached blocks is on the death area
					if ((*it)->getPositionX() < 0.0f || (*it)->getPositionX() > 800.0f || 
						(*it)->getPositionY() > 600.0f || (*it)->getPositionY() < 0.0f)
					{
						if (isConnected)
						{
							//send gameover signal through network
							RakNet::BitStream BsOut;
							BsOut.Write((RakNet::MessageID)ID_GAME_PLAYER_LOST);
							player2->Send(&BsOut,HIGH_PRIORITY,RELIABLE_ORDERED,0,player2Adress,false);
						}
						// game over animation goes here
						// for now just call the next scene
						//CCDirector::sharedDirector()->replaceScene(CCTransitionProgressHorizontal::transitionWithDuration(1.0f,PointsScene::scene()));
						CCDirector::sharedDirector()->pushScene(CCTransitionProgressHorizontal::transitionWithDuration(1.0f,PointsScene::scene()));
						// to prevent thousands of scenes being created
						this->unscheduleUpdate();
					}

				}
			}
		}
		else
		{
			// check if it's time to be deleted
			if((*it)->getOpacity() == 0)
			{
				if(amountToDelete < 5)
				{
					toDelete[amountToDelete] = it;
					amountToDelete++;
				}
			}
		}
	}

	// delete dead ones
	for (int i = 0; i < amountToDelete; i++)
	{
		// remove from batch
		blocksBatch->removeChild((*toDelete[i]),true);
		// remove from local list
		blocksList.erase(toDelete[i]);
	}

	// update physics engine
	box2DWorld->Step(dt,20,20);
	
	// update raknet
	if (isConnected)
	{
		// receive packets
		RakNet::Packet* packet;
		for (packet = player2->Receive();packet;player2->DeallocatePacket(packet),packet=player2->Receive())
		{
			// only process a packet that came from the other player
			if (packet->systemAddress == player2Adress)
			{
				// player disconnected
				if (packet->data[0] == ID_DISCONNECTION_NOTIFICATION || 
					packet->data[0] == ID_CONNECTION_LOST)
				{
					isConnected = false;
					// put some warning on the screen
					//create a text and make it goes up
					CCLabelBMFont* discWarning = CCLabelBMFont::create("Your opponent just disconnected","Assets/badab.fnt");
					discWarning->setColor(ccc3(255,0,0));
					discWarning->setPosition(ccp(400.0f,-20.0f));
					CCSequence* warningSequence = CCSequence::create(CCMoveTo::create(4.0f,ccp(400.0f,200.0f)),
						CCCallFuncO::create(this,callfuncO_selector(MainGameScene::DeleteDisctionnectionWarning),discWarning));
					discWarning->runAction(warningSequence);
					discWarning->runAction(CCFadeOut::create(4.0f));//fade
					this->addChild(discWarning,1000);
				}
				// other player just lost
				else if (packet->data[0] == ID_GAME_PLAYER_LOST)
				{
					otherGameOver = true;
				}
				else if (packet->data[0] == ID_GAME_NEW_POINTS)
				{
					// read new points from the other player
					int rs = 0;
					RakNet::BitStream bsIn(packet->data,packet->length,false);
					bsIn.IgnoreBytes(sizeof(RakNet::MessageID));
					bsIn.Read((char*)&rs,sizeof(int));
					pointsManager->SetP2Points(rs);
				}
				else if(packet->data[0] == ID_GAME_INIT_SWAP)
				{
					// other player will swap, prepare
					ChangeScreenSpecial* change = ChangeScreenSpecial::create();
					this->addChild(change,701);
					change->ExecuteActual();
					change->setTag(978);
				}
				else if(packet->data[0] == ID_GAME_SWAP_SCREENS)
				{
					// received information
					std::vector<BlockInformation> received;
					RakNet::BitStream bsIn(packet->data,packet->length,false);
					bsIn.IgnoreBytes(sizeof(RakNet::MessageID));
					// number of blocks within the package
					int size = 0;
					bsIn.Read((char*)&size,sizeof(int));
					BlockInformation* reci = new BlockInformation[size];
					bsIn.Read((char*)reci,sizeof(BlockInformation) * size);
					// put on the received vector
					for (int p = 0; p < size; p++)
					{
						received.push_back(reci[p]);
					}
					delete reci;
					// now change the blocks
					//delete all non-dying blocks
					std::list<ColorBlock*>::iterator it;
					std::vector<ColorBlock*> toDelete;
					for (it = blocksList.begin(); it != blocksList.end(); it++)
					{
						if (!(*it)->GetDying())
						{
							toDelete.push_back(*it);
						}
					}
					//delete them
					for (int c = 0; c < toDelete.size();c++)
					{
						blocksBatch->removeChild(toDelete[c],true);
						blocksList.remove(toDelete[c]);
					}
					//put them back

					for (int c = 0; c < received.size(); c++)
					{
						// create block on a random location
						ColorBlock* newBlock = ColorBlock::create("Assets/block.png");
						// unattached blocks have 50% opacity
						newBlock->setOpacity(127);

						newBlock->setPositionX(received[c].posX);
						newBlock->setPositionY(received[c].posY);

						// add as a child to the batch
						blocksBatch->addChild(newBlock);
						//mainScene->addChild(newBlock);

						newBlock->InitInWorld(box2DWorld);

						if (received[c].color == BLOCK_GREEN)
						{
							newBlock->setColor(ccc3(0,255,0));
						}
						else if (received[c].color == BLOCK_RED)
						{
							newBlock->setColor(ccc3(255,0,0));
						}
						else if (received[c].color == BLOCK_BLUE)
						{
							newBlock->setColor(ccc3(0,0,255));
						}
						// add to local list
						blocksList.push_back(newBlock);
					}
				}
			}
		}
	}
}
void ArenaWindow::recv_3700()
{
    Message *revMsg=(Message *)CData::getCData()->m_dictionary->objectForKey(3700);
    CData::getCData()->m_dictionary->removeObjectForKey(3700);
    
    
    if(revMsg)
    {
        load->removeFromParent();
        
        this->unschedule(schedule_selector(ArenaWindow::recv_3700));
        char* data=revMsg->data;
        CCLog("%s",data);
        Json::Reader read;
        Json::Value root;
        Json::Value jsonData;
        Json::Value petlist;
        
        
        if(read.parse(data, root)){
            
            CCSprite* sp = CCSprite::create();
            
            jsonData=root["data"];
            petlist=jsonData["dsList"];
            
            int sptimes = jsonData["sptimes"].asInt();
            
            char titlechar[100] = "";
            sprintf(titlechar, "当前排名:%d  今日挑战剩余次数:%d",jsonData["ranking"].asInt(),jsonData["sptimes"].asInt());
            CCLabelTTF* titel = CCLabelTTF::create(titlechar, "hycc.ttf", 22,CCSizeMake(400, 0),kCCTextAlignmentCenter);
            titel->setColor(ccc3(255, 219, 160));
            titel->setPosition(ccp(size.width/2, 600));
            this->addChild(titel);
            
            int len = petlist.size();
            
            for (int i=0; i<len; i++) {
                
                CCScale9Sprite* item = CCScale9Sprite::create("arena_item_bkg.png");
                item->setContentSize(CCSizeMake(410, 85));
                char rank[10] = "";
                sprintf(rank, "%d",jsonData["dsList"][i]["ranking"].asInt());
                CCLabelTTF* ranking = CCLabelTTF::create(rank, "hycc.ttf", 20,CCSizeMake(200, 0),kCCTextAlignmentCenter);
                //ranking->setColor(ccc3(255, 219, 160));
                ranking->setPosition(ccp(37, 42));
                item->addChild(ranking);
                
                CCLabelTTF* nickname = CCLabelTTF::create(jsonData["dsList"][i]["nickname"].asString().c_str(), "hycc.ttf", 18,CCSizeMake(200, 0),kCCTextAlignmentLeft);
                nickname->setColor(ccc3(255, 219, 160));
                nickname->setAnchorPoint(ccp(0, 0));
                nickname->setPosition(ccp(85, 30));
                item->addChild(nickname);
                
                char levelchar[10] = "";
                sprintf(levelchar, "%d级",jsonData["dsList"][i]["level"].asInt());
                CCLabelTTF* level = CCLabelTTF::create(levelchar, "hycc.ttf", 18,CCSizeMake(200, 0),kCCTextAlignmentLeft);
                level->setAnchorPoint(ccp(0, 0));
                level->setColor(ccc3(255, 219, 160));
                level->setPosition(ccp(180, 30));
                item->addChild(level);
                
                if (sptimes != 0) {
                    CCMenuItemImage* ok = CCMenuItemImage::create("arena_btn_bat_1.png", "arena_btn_bat_2.png", this, menu_selector(ArenaWindow::clk_battle));
                    ok->setTag(jsonData["dsList"][i]["characterId"].asInt());
                    CCMenu* menu = CCMenu::create();
                    menu->setAnchorPoint(ccp(0, 0));
                    menu->setPosition(ccp(370, 40));
                    menu->addChild(ok);
                    item->addChild(menu);
                }
                
                
                CCSprite* qsbkg = CCSprite::create("common_qs_bkg_4.png");
                qsbkg->setScale(1.0);
                
                int pro = jsonData["dsList"][i]["profession"].asInt();
                
                char prochar[20] = "";
                sprintf(prochar, "qs_%04d.png",pro);
                
                CCSprite* headsp = CCSprite::create(prochar);
                headsp->setScale(0.18);
                headsp->setAnchorPoint(ccp(0, 0));
                qsbkg->addChild(headsp);
                
                qsbkg->setPosition(ccp(265, 38));
                item->addChild(qsbkg);
                
                
                
                item->setAnchorPoint(ccp(0.5, 1));
                item->setPosition(ccp(0,-i*82));//82
                sp->addChild(item);

            }
            sp->setPosition(ccp(size.width/2, 560));
            this->addChild(sp);
        }
    }

}
Example #8
0
// on "init" you need to initialize your instance
bool Tutorial::init()
{
    //サイズ取得を行う
    origin			= Director::getInstance()->getVisibleOrigin();		//使用端末の(0,0)地点
	visibleSize		= Director::getInstance()->getVisibleSize();		//使用端末の画面サイズ

	this->setTouchMode(kCCTouchesOneByOne);								// シングルタッチモードにする
    this->setTouchEnabled(true);										// タッチを有効にする(内部的にEventDispatcherに登録される)

    auto keyboardListener = EventListenerKeyboard::create();
    keyboardListener->onKeyReleased = CC_CALLBACK_2(Tutorial::onKeyReleased, this);
    this->getEventDispatcher()->addEventListenerWithSceneGraphPriority(keyboardListener, this);

    // 背景を生成
	UserDefault* userDefault = UserDefault::sharedUserDefault();
	int wk_flag = userDefault->getIntegerForKey(key_tutorialFlag, 1);

	Sprite* pBG;
	if (wk_flag == 3) {
		pBG = Sprite::create("help_1.png");
	} else {

//	    // NEXTボタン
//	    MenuItemImage* pSaisei = MenuItemImage::create("button_saisei.png",
//											 "button_saisei.png",
//											 CC_CALLBACK_1(Tutorial::tapSaiseiMenu, this));
//	    pSaisei->setPosition(Point(visibleSize.width * 0.5, origin.y + 220));
//		Menu* pMenu = Menu::create(pSaisei, NULL);
//		pMenu->setPosition(Point::ZERO);
//		pMenu->setTag(kTag_Saisei);
//		this->addChild(pMenu,2);

		//ターゲット
		Node* pTarget = Sprite::create("target_0.png");
		pTarget->setPosition(Point(pTarget->getContentSize().width+50.0, visibleSize.height * 0.80));
		pTarget->setTag(tagTargetImg);
		this->addChild(pTarget,2);
		Node* pTarget1 = Sprite::create("target_1.png");
		pTarget1->setPosition(Point(pTarget->getContentSize().width+10.0, visibleSize.height * 0.80));
		pTarget1->setTag(tagTargetImgSub1);
		this->addChild(pTarget1,1);
		pTarget1 = Sprite::create("target_1.png");
		pTarget1->setPosition(Point(pTarget->getContentSize().width+90.0, visibleSize.height * 0.80));
		pTarget1->setRotation(180);
		pTarget1->setTag(tagTargetImgSub2);
		this->addChild(pTarget1,1);

		//矢印表示
		Node* pArrow = Sprite::create("back_blue.png");
		pArrow->setPosition(Point(visibleSize.width-80, visibleSize.height * 0.80));
		pArrow->setTag(tagArrow);
		this->addChild(pArrow,9);
		Node* pArrow1 = Sprite::create("13.png");
		Size bgSize = pArrow->getContentSize();
		pArrow1->setPosition(Point(bgSize.width * 0.5, bgSize.height * 0.5));
		pArrow->addChild(pArrow1,10);

		pArrow->runAction(CCRepeatForever::create(Blink::create(5,5)));

		//メッセージ
		Node* pMsg = Sprite::create("help_msg1.png");
		pMsg->setPosition(Point(visibleSize.width-150, visibleSize.height * 0.80-100));
		pMsg->setTag(tagMsg);
		this->addChild(pMsg,2);

		pMsg = Sprite::create("help_msg3.png");
		pMsg->setPosition(Point(visibleSize.width/2 , origin.y + 200));
		pMsg->setTag(tagTap2);
		this->addChild(pMsg,2);

		LabelTTF* arrowLabel = LabelTTF::create("タップしてね", "Arial", 40);
		arrowLabel->setColor(ccc3(0, 0, 0));
		arrowLabel->setPosition(Point(visibleSize.width/2 , origin.y + 200));
		arrowLabel->setTag(tagTap);
		this->addChild(arrowLabel,3);
		arrowLabel->runAction(CCRepeatForever::create(Blink::create(5,7)));


		pBG = Sprite::create("Tutorial.png");
	}
    pBG->setPosition(Point(visibleSize.width * 0.5, visibleSize.height * 0.5));
    this->addChild(pBG);


    return true;
}
Example #9
0
	void UITextInputField::LoadBinary(NiStream &kStream)
	{
		UIControlBase::LoadBinary(kStream);    

		mutableDic* dic = kStream.GetStreamData();
        
		float contentScale = CCDirector::sharedDirector()->getContentScaleFactor();
		
		uint32_t bLocalizeString = 0;
		kStream.getIntAttributeValue(dic, "bLocalizeString", bLocalizeString);

		std::string strTemp = "";
		kStream.getStringattributeValue(dic, "placeholder", strTemp);
		const char* placeholder = strTemp.c_str();
		if (bLocalizeString > 0)
		{
			placeholder = CCLocalizedString(strTemp.c_str(), strTemp.c_str());
		}

		uint32_t lengthLimit = 0;
		kStream.getIntAttributeValue(dic, "lengthLimit", lengthLimit);

		uint32_t isPassword = 0;
		kStream.getIntAttributeValue(dic, "isPassword", isPassword);

		int priority = kCCMenuHandlerPriority;
		kStream.getSignedIntAttributeValue(dic,"priority",priority);

		uint32_t dimensionWidth = 0;
		uint32_t dimensionHeight = 0;
		kStream.getIntAttributeValue(dic, "dimensionWidth", dimensionWidth);
		kStream.getIntAttributeValue(dic, "dimensionHeight", dimensionHeight);
        
        dimensionWidth /= contentScale;
        dimensionHeight /= contentScale;

		uint32_t alignment = 1;
		kStream.getIntAttributeValue(dic, "alignment", alignment);

		mutableDic *colorDic = static_cast<mutableDic*>(dic->objectForKey("color"));
		uint32_t color[3] = {255, 255, 255};
		if(colorDic)
		{
			kStream.getIntAttributeValue(colorDic, "red", color[0]);
			kStream.getIntAttributeValue(colorDic, "green", color[1]);
			kStream.getIntAttributeValue(colorDic, "blue", color[2]);
		}

		string font = KJLinXin;
		kStream.getStringattributeValue(dic, "font", font);

        float largeFontSize = GameFontManager::largeFontSize();
		uint32_t fontSize = largeFontSize * contentScale;
		kStream.getIntAttributeValue(dic, "fontSize", fontSize);
		fontSize /= contentScale;

		CCSize dimension = CCSizeMake(dimensionWidth, dimensionHeight);
		if(dimensionWidth > 0 && dimensionHeight < fontSize)
		{
			dimension = CCSizeMake(dimensionWidth, fontSize);
		}
        
		CCSize touchSize = CCSizeZero;
		mutableDic *rectDic = static_cast<mutableDic*>(dic->objectForKey("rect"));
		if(rectDic)
		{
			uint32_t useASRect = 0;
			std::string ASRectName = "";
			std::string ASfile = KUI_BIN;
			uint32_t anchorPoint = 0;
			// if use Asprite Rect
			kStream.getIntAttributeValue(rectDic, "useASRect", useASRect);
			kStream.getIntAttributeValue(rectDic, "anchorPoint", anchorPoint);
			if(useASRect == 1)
			{
				kStream.getStringattributeValue(rectDic, "ASRectName", ASRectName);
				if(ASRectName != "")
				{
					mutableDic* dicAsMgr = static_cast<mutableDic*>(rectDic->objectForKey("AspriteManager"));
					// content attributes 
					if (dicAsMgr)
					{
						if (IsIpad())
						{
							kStream.getStringattributeValue(dicAsMgr, "ipad", ASfile); 
						}else
						{
							kStream.getStringattributeValue(dicAsMgr, "iphone", ASfile); 
						}
					}
					int ID = getResourceIDByName(ASRectName.c_str());
					// name not exists, use normal method
					if(ID != -1)
					{
						ASprite *as = AspriteManager::getInstance()->getAsprite(ASfile);
						CCRect asRect = as->getframeRect(ID);
						touchSize = asRect.size;
						switch(anchorPoint)
						{
						case 0:
							{
								CCRect rect = as->getframeRect(ID);
								m_ptWorldPosition = rect.origin;
							}
							break;

						case 1:
							m_ptWorldPosition = as->GetFramePointMiddle(ID);
							break;

						default:
							break;
						}

						CCPoint parentWorldPosition = CCPointZero;
						if(m_pParent != NULL)
						{
							parentWorldPosition = m_pParent->getWorldPosition();
						}

						m_ptLocalPosition.x = m_ptWorldPosition.x - parentWorldPosition.x;
						m_ptLocalPosition.y = m_ptWorldPosition.y - parentWorldPosition.y;
					}
				}
			}
		}

		m_pTextInputField = TextInputField::textFieldWithPlaceHolder(placeholder,
			dimension,
			(CCTextAlignment)alignment,
			font.c_str(),
			(float)fontSize
			);

		m_pTextInputField->setAnchorPoint(ccp(0.5, 0.5));
		m_pTextInputField->setPosition(m_ptLocalPosition);
		m_pTextInputField->setLengthLimit(lengthLimit);
		m_pTextInputField->setIsPassword(isPassword != 0);
		m_pTextInputField->setColor(ccc3(color[0], color[1], color[2]));
		m_pTextInputField->setInitPriority(priority);
		m_pTextInputField->setTouchInputSize(touchSize);
		// make background
		CreateWhiteBack();
		if(m_pWhiteBack != NULL)
		{
			m_pWhiteBack->setPosition(m_ptLocalPosition);
			m_pWhiteBack->setVisible(m_bIsVisible);
		}

		m_pControlNode = m_pTextInputField;
		m_pControlNode->setVisible(m_bIsVisible);
	}
Example #10
0
void CHecheng::addtupian(Hcdata* hc)
{
   
    this->removeChildByTag(1001);
    this->removeChildByTag(1002);
    this->removeChildByTag(1003);
    this->removeChildByTag(1004);
    this->removeChildByTag(1005);
    //this->removeChildByTag(1006);
    this->removeChildByTag(1007);
    this->removeChildByTag(1008);
    this->removeChildByTag(1009);
    this->removeChildByTag(1010);
    this->removeChildByTag(1011);
    std::string nameA;
    std::string nameB;
    
    getjsonname(hc,nameA,nameB);
  
    
    
   
    int iconA = 0;
    int iconB = 0;
    int itemicons;
    char iconsA[100]="";
    char iconsB[100]="";
    getitempic(hc, itemicons);
    getjsonpic(hc, iconA, iconB);
    if(state==2){

        sprintf(iconsA, "item_%d.png",iconA);

        sprintf(iconsB, "item_%d.png",iconB);
    }
    else if(state==1){
        sprintf(iconsA, "item_%d.png",iconA);
        sprintf(iconsB, "item_%d.png",iconB);
    }else if(state==3){
        sprintf(iconsA, "item_%d.png",iconA);
        sprintf(iconsB, "item_%d.png",iconB);
    }
    CCSprite* zuo = CCSprite::create(iconsA);//dj_08.png
    zuo->setPosition(ccp(127,675));
    this->addChild(zuo,1,1001);
    if(hc->itemAcnt<hc->itemAGoal)
    {
        zuo->setColor(ccc3(100, 100, 100));
    }
    
    char itemicon[100]="";
    
    sprintf(itemicon, "item_%d.png",itemicons);
    CCSprite* you = CCSprite::create(iconsB);
    you->setPosition(ccp(512,675));
    this->addChild(you,1,1002);
    if(hc->itemBcnt<hc->itemBGoal)
    {
        you->setColor(ccc3(100, 100, 100));
    }
    CCSprite* zhong = CCSprite::create(itemicon);//dj_16.png
    zhong->setPosition(ccp(320,753));
    this->addChild(zhong,1,1003);
    
    CCPoint zuopio = zuo->getPosition();
    CCSize zuosize = zuo->getContentSize();
    
    char zuozong1[100]="";
    sprintf(zuozong1, "%d",hc->itemAGoal);
    CCLabelAtlas * zuoshuzi1 = CCLabelAtlas::create(zuozong1, "shuzi.png", 11.2, 16, '0');
//    zuoshuzi1->setAnchorPoint(ccp(1,0.5));
    zuoshuzi1->setPosition(ccp(zuopio.x+zuosize.width/2-40,zuopio.y-zuosize.height/2+15));
    this->addChild(zuoshuzi1,1,1004);
    
    CCSprite* xiexian = CCSprite::create("xiexian.png");
    xiexian->setPosition(ccp(zuopio.x,zuopio.y-zuosize.height/2+20));
    this->addChild(xiexian,1,1005);
    
    char zuozong2[100]="";
    sprintf(zuozong2, "%d",hc->itemAcnt);
    CCLabelAtlas * zuoshuzi2 = CCLabelAtlas::create(zuozong2, "shuzi1.png", 11.2, 16, '0');
//    zuoshuzi2->setAnchorPoint(ccp(0,0.5));
    zuoshuzi2->setPosition(ccp(zuopio.x-zuosize.width/2+25,zuopio.y-zuosize.height/2+15));
    this->addChild(zuoshuzi2,1,1006);
    
    CCPoint youpio = you->getPosition();
    CCSize yousize = you->getContentSize();
    
    
    char youzong1[100]="";
    sprintf(youzong1, "%d",hc->itemBGoal);
    CCLabelAtlas * youshuzi1 = CCLabelAtlas::create(youzong1, "shuzi.png",  11.2, 16, '0');
//    youshuzi1->setAnchorPoint(ccp(1,0.5));
    youshuzi1->setPosition(ccp(youpio.x+yousize.width/2-40,youpio.y-yousize.height/2+15));
    this->addChild(youshuzi1,1,1007);
    
    CCSprite* xiexian1 = CCSprite::create("xiexian.png");
    xiexian1->setPosition(ccp(youpio.x,youpio.y-yousize.height/2+20));
    this->addChild(xiexian1,1,1008);
    
    
    char youzong2[100]="";
    sprintf(youzong2, "%d",hc->itemBcnt);
    CCLabelAtlas * youshuzi2 = CCLabelAtlas::create(youzong2, "shuzi1.png",  11.2, 16, '0');
//    youshuzi2->setAnchorPoint(ccp(0,0.5));
    youshuzi2->setPosition(ccp(youpio.x-yousize.width/2+25,youpio.y-yousize.height/2+15));
    this->addChild(youshuzi2,1,1009);
    
    
    CCLabelTTF * zuoname = CCLabelTTF::create(nameA.c_str(), "Helvetica", 20);
    CCLog("%s",nameA.c_str());
    //    zuoshuzi2->setAnchorPoint(ccp(0,0.5));
    zuoname->setPosition(ccp(zuopio.x,zuopio.y+80));
    this->addChild(zuoname,1,1010);
    
    CCLabelTTF * youname = CCLabelTTF::create(nameB.c_str(), "Helvetica", 20);
    CCLog("%s",nameB.c_str());
    //    zuoshuzi2->setAnchorPoint(ccp(0,0.5));
    youname->setPosition(ccp(youpio.x,youpio.y+80));
    this->addChild(youname,1,1011);
    this->removeChildByTag(00000);
}
Example #11
0
void Tutorial::onTouchEnded(Touch* touch, Event* event)
{

	UserDefault* userDefault = UserDefault::sharedUserDefault();
	int wk_flag = userDefault->getIntegerForKey(key_tutorialFlag, 1);

	if (wk_flag < 3) {


		Node* pArrow = this->getChildByTag(tagArrow);
		Node* pYubi;
		Node* pMsg;
		LabelTTF* arrowLabel;
		switch (scene_flag){
		case 0:
			//アニメーション停止
			pArrow->stopAllActions();
			pArrow->runAction(Show::create());
			pArrow->runAction(MoveTo::create(2, ccp(120.0, visibleSize.height * 0.80)));

			// 	メッセージ削除
			pMsg = this->getChildByTag(tagMsg);
			pMsg->removeFromParentAndCleanup(true);
			pMsg = this->getChildByTag(tagTap);
			pMsg->removeFromParentAndCleanup(true);
			pMsg = this->getChildByTag(tagTap2);
			pMsg->removeFromParentAndCleanup(true);

			//スワイプアニメーション追加
			pYubi = Sprite::create("yubi.png");
			pYubi->setPosition(Point(visibleSize.width-120, visibleSize.height * 0.80-200));
			pYubi->setRotation(120);
			pYubi->setTag(tagYubi);
			this->addChild(pYubi,2);
			pYubi->runAction(Sequence::create(MoveTo::create(1, ccp(120.0, visibleSize.height * 0.80-200)),MoveTo::create(0.7, ccp(120.0, visibleSize.height * 0.4)),NULL));

			scene_flag++;

			this->scheduleOnce(schedule_selector(Tutorial::msg2), 2);

			break;
		case 1:
			//アニメーションキャンセル
			this->unschedule(schedule_selector(Tutorial::msg2));

			//矢印を所定の位置へ移動
			pArrow->stopAllActions();
			pArrow->setPosition(Point(120.0, visibleSize.height * 0.80));

			//yubiを所定の位置へ移動
			pYubi  = this->getChildByTag(tagYubi);
			pYubi->stopAllActions();
			pYubi->setPosition(Point(120.0, visibleSize.height * 0.4));
			pYubi->runAction(RotateBy::create(0.5f, -90.0f));

			//メッセージ表示
			pMsg = Sprite::create("help_msg2.png");
			pMsg->setPosition(Point(280, visibleSize.height * 0.80-150));
			pMsg->setTag(tagMsg);
			this->addChild(pMsg,2);

			pMsg = Sprite::create("help_msg3.png");
			pMsg->setPosition(Point(visibleSize.width/2 , origin.y + 200));
			pMsg->setTag(tagTap2);
			this->addChild(pMsg,2);

			arrowLabel = LabelTTF::create("タップしてね", "Arial", 40);
			arrowLabel->setColor(ccc3(0, 0, 0));
			arrowLabel->setPosition(Point(visibleSize.width/2 , origin.y + 200));
			arrowLabel->setTag(tagTap);
			this->addChild(arrowLabel,3);
			arrowLabel->runAction(CCRepeatForever::create(Blink::create(5,7)));

			scene_flag++;

			break;
		case 2:
			if (wk_flag == 1) {
				Scene* gameScene = (Scene*)TitleScene::create();
				Director::getInstance()->replaceScene(gameScene);
			} else if (wk_flag == 2) {
				//相手レベル記録
				UserDefault* userDefault = UserDefault::sharedUserDefault();
				userDefault->setIntegerForKey(key_playEnemyLv, 1);

				// ゲーム画面の表示
				Scene* scene = HelloWorld::createScene();
				TransitionFlipX* tran = TransitionFlipX::create(0.2, scene);
				Director::sharedDirector()->replaceScene(tran);
			}
		}

	} else {
		if (wk_count > 3) {
		    Scene* scene = PowerUp::createScene();
		    TransitionFlipX* tran = TransitionFlipX::create(1, scene);
		    Director::sharedDirector()->replaceScene(tran);
		} else {
			wk_count = wk_count + 1;
			Sprite* pBG = Sprite::create(String::createWithFormat("help_%d.png", wk_count)->getCString());
		    pBG->setPosition(Point(visibleSize.width * 0.5, visibleSize.height * 0.5));
		    this->addChild(pBG);
		}
	}

}
Example #12
0
bool CHecheng::init()
{
    if(!CCLayer::init())
    {
        return false;
    }
    
//    this->setTouchEnabled(true);
    
    pf_dic=CCDictionary::create();
    pf_dic->retain();
    flag=true;
    P_dictionary = CCDictionary::create();
    P_dictionary->retain();
    num = 0;
    state =1;
    leng = 10*140;
    isxz = false;
    tpy = 2116;
    tableView = NULL;
    isa = false;
    m_index =0;
    isgx = false;
    m_cell =NULL;
    m_pf =NULL;
    tmpitemdata =NULL;

    //fasong();
    
    
    size = CCDirector::sharedDirector()->getWinSize();
    
    CCSprite *bkgHc=CCSprite::create("zjm_bkg.png");
    bkgHc->setPosition(ccp(size.width/2, size.height/2));
    this->addChild(bkgHc);
    CCSprite* bj = CCSprite::create("hc_bkg.png");
    bj->setPosition(ccp(size.width/2, size.height/2));
    this->addChild(bj);
    
    add1 = CCSprite::create("common_add.png");
    add2 = CCSprite::create("common_add.png");
    add3 = CCSprite::create("common_add.png");
    add4 = CCSprite::create("common_add.png");
    
    CCActionInterval* fadein1 = CCFadeIn::create(0.5);
    CCActionInterval* fadeout1 = CCFadeOut::create(0.5);
    CCActionInterval* action1 = CCSequence::create(fadein1,fadeout1,NULL);
    add1->runAction(CCRepeatForever::create(action1));
    
    CCActionInterval* fadein2 = CCFadeIn::create(0.5);
    CCActionInterval* fadeout2 = CCFadeOut::create(0.5);
    CCActionInterval* action2 = CCSequence::create(fadein2,fadeout2,NULL);
    add2->runAction(CCRepeatForever::create(action2));
    
    CCActionInterval* fadein3 = CCFadeIn::create(0.5);
    CCActionInterval* fadeout3 = CCFadeOut::create(0.5);
    CCActionInterval* action3 = CCSequence::create(fadein3,fadeout3,NULL);
    add3->runAction(CCRepeatForever::create(action3));
    
    CCActionInterval* fadein4 = CCFadeIn::create(0.5);
    CCActionInterval* fadeout4 = CCFadeOut::create(0.5);
    CCActionInterval* action4 = CCSequence::create(fadein4,fadeout4,NULL);
    add4->runAction(CCRepeatForever::create(action4));
      
    
    
   i1 = CCMenuItemImage::create("common_item_bkg1.png", "common_item_bkg1.png", this, menu_selector(CHecheng::openbag));
    i1->setPosition(ccp(138, 455));
//    sprite->addChild(i1);
    
    CCSize itemsz = i1->getContentSize();
    
    i2 = CCMenuItemImage::create("common_item_bkg1.png", "common_item_bkg1.png", this, menu_selector(CHecheng::openbag));
    i2->setPosition(ccp(243, 545));
//    sprite->addChild(i2);
    
   i3 = CCMenuItemImage::create("common_item_bkg1.png", "common_item_bkg1.png", this, menu_selector(CHecheng::openbag));
    i3->setPosition(ccp(348, 455));
//    sprite->addChild(i3);
    
   i4 = CCMenuItemImage::create("common_item_bkg1.png", "common_item_bkg1.png", this, menu_selector(CHecheng::openbag));
    i4->setPosition(ccp(243, 355));
//    sprite->addChild(i4);
    
    add1->setPosition(ccp(itemsz.width/2, itemsz.height/2));
    i1->addChild(add1);
    
    add2->setPosition(ccp(itemsz.width/2, itemsz.height/2));
    i2->addChild(add2);
    
    add3->setPosition(ccp(itemsz.width/2, itemsz.height/2));
    i3->addChild(add3);
    
    add4->setPosition(ccp(itemsz.width/2, itemsz.height/2));
    i4->addChild(add4);
    
    gold = CCLabelTTF::create("", "hycc.ttf", 30, CCSizeMake(150, 0), kCCTextAlignmentLeft);
    gold->setAnchorPoint(ccp(0, 0));
    gold->setColor(ccc3(222,173,98));
    gold->setPosition(ccp(160, 205));//50,2
    bj->addChild(gold);
    

    
    m_hc = CCMenuItemImage::create("hc_btn_hc_1.png", "hc_btn_hc_2.png","hc_btn_hc_3.png", this, menu_selector(CHecheng::fasong));
//    m_hc->addChild(pricevalue);
    m_hc->setPosition(ccp(365, 220));
    m_hc->setScale(1.3);
    m_hc->setEnabled(false);
    CCMenu* menu = CCMenu::create(i1,i2,i3,i4,m_hc,NULL);
//    CCPoint p = sprite->getPosition();
    menu->setPosition(0,0);
    bj->addChild(menu);

    return true;
}
Example #13
0
bool ResultLayer::init() {
	if ( CCLayerColor::initWithColor( ccc4(255, 255, 255, 255) ) ) {
        
        CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize();
        CCPoint origin = CCDirector::sharedDirector()->getVisibleOrigin();
        
        // make the labels of the score and the high score and add them on the layer.
        int score = Score::getScore();
        int highScore = Score::getHighScore();
//        CCLog("score = %d", score);
//        CCLog("high score= %d", highScore);
        CCString* scoreValue = CCString::createWithFormat("Score: %d", score);
        CCString* highScoreValue = CCString::createWithFormat("High Score: %d", highScore);
        // set font.
        CCLabelTTF* pScoreLabel = CCLabelTTF::create(scoreValue->getCString(), "arial", 48.0);
        // set the font color
        pScoreLabel->setColor(ccc3(255, 0, 127));
        int widthScoreLabel =pScoreLabel->getContentSize().width;
         // set font.
        CCLabelTTF* pHighScoreLabel = CCLabelTTF::create(highScoreValue->getCString(), "arial", 48.0);
        // set the font color.
        pHighScoreLabel->setColor(ccc3(255, 0, 127));
        // get the width and the height of the high score label.
        int widthHighScoreLabel =pHighScoreLabel->getContentSize().width;
        int heightHighScoreLabel = pHighScoreLabel->getContentSize().height;
        // set the positions of the labels.
        pScoreLabel->setPosition(ccp(origin.x + visibleSize.width / 2 - widthScoreLabel / 2,
                                     origin.y + (int)(visibleSize.height * (1.0 - 0.4))));
        pHighScoreLabel->setPosition(ccp(origin.x + visibleSize.width / 2 - widthScoreLabel/ 2
                                         + abs(widthHighScoreLabel - widthScoreLabel) / 2,
                                         origin.y + (int)(visibleSize.height * (1.0 - 0.4))
                                         - heightHighScoreLabel - 20));
        // add the labels to the layer.
        this->addChild(pScoreLabel, 1);
        this->addChild(pHighScoreLabel, 1);
        
        
		// 1. Add a menu item with "X" image, which is clicked to quit the program.
        
		// Create a "close" menu item with close icon, it's an auto release object.
		CCMenuItemImage *pCloseItem = CCMenuItemImage::create(
                                                              "BackNormal.png",
                                                              "BackSelected.png",
                                                              this,
                                                              menu_selector(ResultLayer::menuBackCallback));
        
		// Place the menu item bottom-right conner.
//        CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize();
//        CCPoint origin = CCDirector::sharedDirector()->getVisibleOrigin();
        
		pCloseItem->setPosition(ccp(origin.x + visibleSize.width - pCloseItem->getContentSize().width/2,
                                    origin.y + pCloseItem->getContentSize().height/2));
        
		// Create a menu with the "close" menu item, it's an auto release object.
		CCMenu* pMenu = CCMenu::create(pCloseItem, NULL);
		pMenu->setPosition(CCPointZero);
        
		// Add the menu to SecondWorld layer as a child layer.
		this->addChild(pMenu, 1);
        
        return true;
    } else {
        return false;
    }
}
Example #14
0
bool UIListViewExTest_Horizontal::init()
{
    if (UIScene::init())
    {
        CCSize widgetSize = m_pWidget->getSize();
        
        m_pDisplayValueLabel = UILabel::create();
        m_pDisplayValueLabel->setText("Move by horizontal direction");
        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_pDisplayValueLabel->getContentSize().height * 1.5));
        m_pUiLayer->addWidget(m_pDisplayValueLabel);
        
        
        UILabel* alert = UILabel::create();
        alert->setText("ListView horizontal");
        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 * 3.075));
        m_pUiLayer->addWidget(alert);
        
        Layout* background = dynamic_cast<Layout*>(m_pUiLayer->getWidgetByName("background_Panel"));
        CCSize backgroundSize = background->getContentSize();
        
        
        // create list view data
        m_array = CCArray::create();
        CC_SAFE_RETAIN(m_array);
        for (int i = 0; i < 20; ++i)
        {
            CCString* ccstr = CCString::createWithFormat("listview_item_%d", i);
            m_array->addObject(ccstr);
        }
        
        
        // Create the list view
        UIListView* listView = UIListView::create();
        // set list view direction
        listView->setDirection(SCROLLVIEW_DIR_HORIZONTAL);
        listView->setTouchEnabled(true);
        listView->setBounceEnabled(true);
        listView->setBackGroundImage("cocosgui/green_edit.png");
        listView->setBackGroundImageScale9Enabled(true);
        listView->setSize(CCSizeMake(240, 130));
        listView->setPosition(ccp((widgetSize.width - backgroundSize.width) / 2 +
                                    (backgroundSize.width - listView->getSize().width) / 2,
                                    (widgetSize.height - backgroundSize.height) / 2 +
                                    (backgroundSize.height - listView->getSize().height) / 2));
        listView->addEventListenerListView(this, listvieweventselector(UIListViewExTest_Horizontal::selectedItemEvent));
        m_pUiLayer->addWidget(listView);
        
        
        // create model
        UIButton* default_button = UIButton::create();
        default_button->setName("TextButton");
        default_button->setTouchEnabled(true);
        default_button->loadTextures("cocosgui/backtotoppressed.png", "cocosgui/backtotopnormal.png", "");
        
        Layout* default_item = Layout::create();
        default_item->setTouchEnabled(true);
        default_item->setSize(default_button->getSize());
        default_button->setPosition(ccp(default_item->getSize().width / 2, default_item->getSize().height / 2));
        default_item->addChild(default_button);
        
        // set model
        listView->setItemModel(default_item);
        
        // add default item
        int count = m_array->count();
        for (int i = 0; i < count / 4; ++i)
        {
            listView->pushBackDefaultItem();
        }
        // insert default item
        for (int i = 0; i < count / 4; ++i)
        {
            listView->insertDefaultItem(0);
        }
        
        // add custom item
        for (int i = 0; i < count / 4; ++i)
        {
            UIButton* custom_button = UIButton::create();
            custom_button->setName("TextButton");
            custom_button->setTouchEnabled(true);
            custom_button->loadTextures("cocosgui/button.png", "cocosgui/buttonHighlighted.png", "");
            custom_button->setScale9Enabled(true);
            custom_button->setSize(default_button->getSize());
            
            Layout *custom_item = Layout::create();
            custom_item->setSize(custom_button->getSize());
            custom_button->setPosition(ccp(custom_item->getSize().width / 2, custom_item->getSize().height / 2));
            custom_item->addChild(custom_button);
            
            listView->pushBackCustomItem(custom_item);
        }
        // insert custom item
        CCArray *items = listView->getItems();
        int items_count = items->count();
        for (int i = 0; i < count / 4; ++i)
        {
            UIButton* custom_button = UIButton::create();
            custom_button->setName("TextButton");
            custom_button->setTouchEnabled(true);
            custom_button->loadTextures("cocosgui/button.png", "cocosgui/buttonHighlighted.png", "");
            custom_button->setScale9Enabled(true);
            custom_button->setSize(default_button->getSize());
            
            Layout *custom_item = Layout::create();
            custom_item->setSize(custom_button->getSize());
            custom_button->setPosition(ccp(custom_item->getSize().width / 2, custom_item->getSize().height / 2));
            custom_item->addChild(custom_button);
            
            listView->insertCustomItem(custom_item, items_count);
        }
        
        // set item data
        items_count = items->count();
        for (int i = 0; i < items_count; ++i)
        {
            UIWidget *item = listView->getItem(i);
            UIButton *button = static_cast<UIButton*>(item->getChildByName("TextButton"));
            int index = listView->getIndex(item);
            button->setTitleText(static_cast<CCString*>(m_array->objectAtIndex(index))->getCString());
        }
        
        // remove last item
        listView->removeLastItem();
        
        // remove item by index
        items_count = items->count();
        listView->removeItem(items_count - 1);        
        
        // set all items layout gravity
        listView->setGravity(LISTVIEW_GRAVITY_CENTER_VERTICAL);
        
        // set items margin
        listView->setItemsMargin(2);
        
        return true;
    }
    
    return false;
}
Example #15
0
    void onCreate(CCNode *parent)
    {

        CCSize size = parent->getContentSize();
        float x_middle = size.width / 2;
        float vertical = size.height * 0.25f;

        CCLabelTTF* label = CCLabelTTF::create(_("SelectColection.BuyFullVerdionPopUp.BuyTitle"),
                                               Fonts::getFontName(),
                                               62);
        label->setFontSize(48);
        label->setPosition(ccp(x_middle, size.height*0.85f));
        parent->addChild(label);

        //add 3 stars
        SpritesLoader spl = GraphicsManager::getLoaderFor(parent,
                                                          "level-end/big_stars.plist",
                                                          "level-end/big_stars.png");
        spl->inject();
        CCSprite* stars_spr = spl->loadSprite("big_stars_3.png");
        stars_spr->setScale(0.75f);
        stars_spr->setPosition(ccp(x_middle, size.height*0.65f));


        //add "or" text
        CCLabelTTF* or_text = CCLabelTTF::create(_("SelectColection.BuyFullVerdionPopUp.OrText"),
                                               Fonts::getFontName(),
                                               40);
        or_text->setPosition(ccp(x_middle, size.height*0.5f));
        parent->addChild(or_text);

        /**
         * @brief menu_spl
         */
        SpritesLoader menu_spl = GraphicsManager::getLoaderFor(0,
                                                               "collection-menu/collection_button.plist",
                                                               "collection-menu/collection_button.png");
        MenuSpriteBatch* menu = MenuSpriteBatch::create(menu_spl);
        menu->setPosition(ccp(0,0));
        menu->setAnchorPoint(ccp(0,0));
        menu->setContentSize(size);
        parent->addChild(menu);

        CCSprite* parent_rgb = (CCSprite*)parent->getChildByTag(123);
        if(parent_rgb)
            parent_rgb->setColor(GameInfo::getInstance()->getNegativeColor());

        CCSprite* coll_button = menu_spl->loadSprite("collection_button.png");

        //coll_button->setScale(coll_button->getContentSize().width/
        //           parent->getContentSize().width*0.6);
        AnimatedMenuItem *buy_item = AnimatedMenuItem::create(
                    coll_button,
                    this, menu_selector(Me::onBuy));
        buy_item->setPosition(ccp(size.width*0.5,
                                  vertical));
        buy_item->setBaseScale(coll_button->getContentSize().width/
                               parent->getContentSize().width*0.8);

        std::string text = _("SelectColection.BuyFullVerdionPopUp.Yes");
        std::string price = ADInApp::getProduct("unlock_full")->getPrice();
        std::string button_buy_text = text +'\n' + price;
        CCLabelTTF * buy_text = CCLabelTTF::create(button_buy_text.c_str(),
                                                          Fonts::getFontName(),
                                                          45);
        buy_text->setColor(ccc3(255,255,255));
        buy_text->setPosition(ccp(buy_item->getContentSize().width/2,
                                  buy_item->getContentSize().height/2));
        buy_item->addChild(buy_text);
        menu->menu()->addChild(buy_item);
    }
bool GymnasticGameScene::init() {
	this->setKeypadEnabled(true);
	srand((unsigned)time(NULL));
	if (!CCLayerColor::initWithColor(ccc4(255, 255, 255, 255))) {
		return false;
	}
	AudioManager::getAudioManager()->playSound(SOUND_GYMBACK);
	_standTimeValue = 0;
	_state = 0;
	_deadCount = 0;
	_gymback = CCSprite::create("gymnasticgameScene/images/gymback.jpg");
	_gymback->setPosition(ccp(640,360));
	this->addChild(_gymback, 0);

	_bar = CCSprite::create("gymnasticgameScene/images/bar.png");
	_bar->setPosition(ccp(640,100));
	this->addChild(_bar, 1);

	_player = CCSprite::create("gymnasticgameScene/images/gymner.png");
	_player->setAnchorPoint(ccp(0.5f,0.0f));
	_player->setPosition(ccp(640,120));

	//_player->setRotationX(30.0f);
	//_player->setRotationY(30.0f);
//	_player->setRotation(30.0f);
	CCLog("angle is %f",_player->getRotation());
	this->addChild(_player, 2);

	_rightBtn = CCMenuItemImage::create(
			"gymnasticgameScene/images/rightbtn.png",
			"gymnasticgameScene/images/rightbtnDown.png", this,
			menu_selector(GymnasticGameScene::gymnasticControlCallBack));
	_rightBtn->setTag(1);

	_leftBtn = CCMenuItemImage::create("gymnasticgameScene/images/leftbtn.png",
			"gymnasticgameScene/images/leftbtnDown.png", this,
			menu_selector(GymnasticGameScene::gymnasticControlCallBack));
	_leftBtn->setTag(2);

	_leftMenu = CCMenu::create( _leftBtn, NULL);
	_leftMenu->setPosition(ccp(170,200));
	this->addChild(_leftMenu, 3);

	_rightMenu = CCMenu::create(_rightBtn, NULL);
	_rightMenu->setPosition(ccp(1110,200));
	this->addChild(_rightMenu, 3);

	_standTime = CCLabelTTF::create("00:00", "fonts/darkforest.ttf", 100);
	_standTime->setColor(ccc3(0, 0, 0));
	_standTime->setAnchorPoint(ccp(0,0.5));
	_standTime->setPosition(ccp(20,600));
	this->addChild(_standTime, 4);
	_timeTex = CCLabelTTF::create("TIME", "fonts/darkforest.ttf", 100);
	_timeTex->setColor(ccc3(0, 0, 0));
	_timeTex->setAnchorPoint(ccp(0,0.5));
	_timeTex->setPosition(ccp(40,680));
	this->addChild(_timeTex, 4);
	this->schedule(schedule_selector(GymnasticGameScene::standTime),1.0f);
	this->schedule(schedule_selector(GymnasticGameScene::balanceinterruption),0.1f);
	return true;
}
Example #17
0
bool AllianceAreaPopupView::init(){
    if(!PopupBaseView::init()){
        return false;
    }
    setIsHDPanel(true);
    isMoving = false;
    this->setModelLayerOpacity(0);
    this->setContentSize(CCDirector::sharedDirector()->getWinSize());
    m_picNode = CCNode::create();
    m_picNode->setContentSize(CCSize(_tile_width * 2, _tile_height * 2));
    m_picNode->setAnchorPoint(ccp(0, 0));
    CCPoint testPoint =PopupViewController::getInstance()->getTouchPoint() + ccp(-_tile_width, -_tile_height);
//    m_picNode->setPosition(PopupViewController::getInstance()->getTouchPoint() + ccp(-_tile_width, -_tile_height));
    
    CCPoint tilePoint = WorldController::getInstance()->getPointByIndex(m_tileIndex);
    CCPoint viewPoint = getInLayerPoint(tilePoint);
    viewPoint = viewPoint + ccp(-_tile_width * 1.5, -_tile_height);
    m_picNode->setPosition(viewPoint);
    
    m_cityNode = CCNode::create();
    
 
    /*int mapIndex = 3;
    while (mapIndex >= 0) {
        auto arr = WorldController::getInstance()->getCityPicArr(mapIndex, 0, false ,44996);
        int posX = _tile_width / 2;
        int posY = _tile_height / 2;
        if(mapIndex == 0 || mapIndex == 2){
            posX = _tile_width;
        }
        if(mapIndex == 3){
            posX = _tile_width + posX;
        }
        if(mapIndex == 1 || mapIndex == 3){
            posY = _tile_height;
        }
        if(mapIndex == 2){
            posY = _tile_height + posY;
        }
        auto itMap = arr.begin();
        while (itMap!=arr.end()) {
            std::string picName = (*itMap).pic;
            int addX = (*itMap).x;
            int addY = (*itMap).y;
            auto sprite = CCLoadSprite::createSprite(picName.c_str());
            sprite->setAnchorPoint(ccp(0, 0));
            if (CCCommonUtils::isIosAndroidPad()) {
                m_cityNode->addChild(sprite);
                sprite->setPosition(ccp(posX, posY) - ccp(_tile_width / 2, _tile_height / 2) + ccp(addX, addY));
                
            }
            else {
                m_picNode->addChild(sprite);
                sprite->setPosition(ccp(posX, posY) - ccp(_tile_width / 2, _tile_height / 2) + ccp(addX, addY));
            }
            ++itMap;
        }
        mapIndex--;
    }*/
    auto tower = CCLoadSprite::createSprite("territory_fort.png");
    tower->setPosition(ccp(_tile_width -25, _tile_height + 62));
    m_picNode->addChild(tower);
    
    if (CCCommonUtils::isIosAndroidPad()) {
        m_picNode->addChild(m_cityNode);
        m_cityNode->setScale(WORLD_DEFAULT_HD_SCALE);
        m_cityNode->setPosition(ccp(-_tile_width * (WORLD_DEFAULT_HD_SCALE - 1),-_tile_height * (WORLD_DEFAULT_HD_SCALE - 1)));
    }
    
        CCPointArray* pointArr = CCPointArray::create(3);
        pointArr->addControlPoint(ccp(-70,59));
        pointArr->addControlPoint(ccp(-2,23));
        pointArr->addControlPoint(ccp(66,57));
    CCLoadSprite::doResourceByCommonIndex(507, true);
        for (int i = 0; i < 3; i++) {
            auto bannerSprite = CCFlagWaveSprite::create(CCLoadSprite::loadResource("1212_double.png"));
            if (CCCommonUtils::isIosAndroidPad()) {
                bannerSprite->setScale(0.25);
            }
            else
                bannerSprite->setScale(0.18);
            bannerSprite->setPosition(ccp(_tile_width, _tile_height)+pointArr->getControlPointAtIndex(i) + ccp(12, 20));
            m_picNode->addChild(bannerSprite);
        }
    CCLoadSprite::doResourceByCommonIndex(507, false);
    
    if (CCCommonUtils::isIosAndroidPad()) {
        m_cancelBtn = CCControlButton::create(CCLoadSprite::createScale9Sprite("but_blue.png"));
        m_cancelBtn->addTargetWithActionForControlEvents(this, cccontrol_selector(AllianceAreaPopupView::onCancelBtnClick), CCControlEventTouchUpInside);
        m_cancelBtn->setPreferredSize(CCSize(160, 70));
        m_cancelBtn->setScaleX(2.1);
        m_cancelBtn->setScaleY(1.7);
        
        m_confirmBtn = CCControlButton::create(CCLoadSprite::createScale9Sprite("btn_green3.png"));
        m_confirmBtn->setBackgroundSpriteForState(CCLoadSprite::createScale9Sprite("btn_green3.png"),CCControlStateHighlighted);
        m_confirmBtn->setBackgroundSpriteForState(CCLoadSprite::createScale9Sprite("Btn_grey.png"),CCControlStateDisabled);
        m_confirmBtn->addTargetWithActionForControlEvents(this, cccontrol_selector(AllianceAreaPopupView::onConfirmBtnClick), CCControlEventTouchUpInside);
        m_confirmBtn->setPreferredSize(CCSize(160, 70));
        m_confirmBtn->setScaleX(2.1);
        m_confirmBtn->setScaleY(1.7);
        
        auto bg = CCLoadSprite::createSprite("technology_11.png");
        m_picNode->addChild(bg);

        m_btnLabel = CCLabelIF::create(_lang("115302").c_str());
        m_btnLabel->setFontSize(32);
        m_btnLabel->setColor(ccc3(255, 255, 255));
        m_btnLabel1 = CCLabelIF::create(_lang("115021").c_str());
        m_btnLabel1->setFontSize(32);
        m_btnLabel1->setColor(ccc3(255, 255, 255));
        m_picNode->addChild(m_cancelBtn);
        m_cancelBtn->setPosition(_tile_width - m_cancelBtn->getContentSize().width * m_cancelBtn->getScaleX() / 2 - 15, 0);
        m_picNode->addChild(m_confirmBtn);
        m_confirmBtn->setPosition(_tile_width + m_confirmBtn->getContentSize().width * m_confirmBtn->getScaleX() / 2 + 15, m_cancelBtn->getPositionY());
        m_picNode->addChild(m_btnLabel);
        m_btnLabel->setPosition(m_confirmBtn->getPosition());
        m_picNode->addChild(m_btnLabel1);
        m_btnLabel1->setPosition(m_cancelBtn->getPosition());
        
        bg->setPosition(ccp(_tile_width, m_cancelBtn->getPositionY()));
        bg->setScaleY(8);
        bg->setScaleX(5);
    }
    else {
        m_cancelBtn = CCControlButton::create(CCLoadSprite::createScale9Sprite("but_blue.png"));
        CCCommonUtils::setButtonTitleColor(m_cancelBtn, ccc3(255, 255, 255));
        CCCommonUtils::setButtonTitle(m_cancelBtn, _lang("115021").c_str());
        m_cancelBtn->addTargetWithActionForControlEvents(this, cccontrol_selector(AllianceAreaPopupView::onCancelBtnClick), CCControlEventTouchUpInside);
        m_cancelBtn->setPreferredSize(CCSize(160, 70));
        
        m_confirmBtn = CCControlButton::create(CCLoadSprite::createScale9Sprite("btn_green3.png"));
        m_confirmBtn->setBackgroundSpriteForState(CCLoadSprite::createScale9Sprite("btn_green3.png"),CCControlStateHighlighted);
        m_confirmBtn->setBackgroundSpriteForState(CCLoadSprite::createScale9Sprite("Btn_grey.png"),CCControlStateDisabled);
        m_confirmBtn->addTargetWithActionForControlEvents(this, cccontrol_selector(AllianceAreaPopupView::onConfirmBtnClick), CCControlEventTouchUpInside);
        m_confirmBtn->setPreferredSize(CCSize(160, 70));
        CCCommonUtils::setButtonTitleColor(m_confirmBtn, ccc3(255, 255, 255));
        CCCommonUtils::setButtonTitle(m_confirmBtn, _lang("115302").c_str());
        
        auto bg = CCLoadSprite::createSprite("technology_11.png");
        m_picNode->addChild(bg);
        
        m_iconNode = CCNode::create();
        int num = WorldController::getInstance()->m_bAAreaCost;
        std::string picPath = "";
        //    picPath = "ui_gold.png";
        //
        //
        //    auto sprite = CCLoadSprite::createSprite(picPath.c_str());
        //    m_iconNode->addChild(sprite);
        //    CCCommonUtils::setSpriteMaxSize(sprite, 40);
        
        m_numText = CCLabelIF::create(CC_ITOA(num));
        //    m_btnLabel = CCLabelIF::create(_lang("115302").c_str());
        //    m_btnLabel->setFontSize(22);
        //    m_btnLabel->setColor(ccc3(255, 230, 116));
        m_picNode->addChild(m_cancelBtn);
        m_cancelBtn->setPosition(_tile_width - m_cancelBtn->getContentSize().width / 2 - 15, 0);
        m_picNode->addChild(m_confirmBtn);
        m_confirmBtn->setPosition(_tile_width + m_confirmBtn->getContentSize().width / 2 + 15, m_cancelBtn->getPositionY());
        
        //    m_numBG = CCLoadSprite::createSprite("num_text_bg.png");
        //    m_picNode->addChild(m_numBG);
        //    m_numBG->setScaleX(1.1);
        
        bg->setPosition(ccp(_tile_width, m_cancelBtn->getPositionY()));
        bg->setScaleY(4);
        bg->setScaleX(3);
        m_picNode->addChild(m_iconNode);
        m_iconNode->setPosition(m_confirmBtn->getPositionX() - 30, m_confirmBtn->getPositionY() - 15);
        //    m_picNode->addChild(m_numText);
        //    m_numText->setAnchorPoint(ccp(0, 0.5));
        //    m_numText->setPosition(m_confirmBtn->getPositionX(), m_confirmBtn->getPositionY() - 15);
        //    m_picNode->addChild(m_btnLabel);
        //    m_btnLabel->setPosition(m_confirmBtn->getPositionX(), m_confirmBtn->getPositionY() + 20);
        //    m_numBG->setPosition(ccp(m_confirmBtn->getPositionX(), m_confirmBtn->getPositionY() - 15));
    }
    
    this->addChild(m_picNode, 2);
    m_showNode = CCNode::create();
    this->addChild(m_showNode, 1);
    refreshShowNode(false);
    return true;
}
// on "init" you need to initialize your instance
bool LooseScene::init()
{
	//////////////////////////////
	// 1. super init first
	if (!Layer::init())
	{
		return false;
	}

	Size visibleSize = Director::getInstance()->getVisibleSize();//init size
	Vec2 origin = Director::getInstance()->getVisibleOrigin();// init the origin 

	auto label = Label::createWithTTF("BETTER LUCK NEXT TIME", "fonts/Marker Felt.ttf", 44);
	label->setPosition(Vec2(origin.x + visibleSize.width / 2, origin.y + visibleSize.height - label->getContentSize().height));
	label->setColor(ccc3(255, 215, 0));
	this->addChild(label, 1);

	auto backgroundSprite = Sprite::create("GameOver.png");// main menu image 
	backgroundSprite->setPosition(Point(visibleSize.width / 2 + origin.x, visibleSize.height / 2 + origin.y));
	this->addChild(backgroundSprite);

	auto titleSprite = Sprite::create();//image
	titleSprite->setPosition(Point(visibleSize.width / 2 + origin.x, visibleSize.height / 2 + origin.y));
	this->addChild(titleSprite);

	//button mapping to other screens

	//when click play it goes to the game scene
	auto NewGame = MenuItemImage::create("newGame.png", "newGame.png", CC_CALLBACK_1(LooseScene::GoToGameScene, this));
	NewGame->setPosition(Point(visibleSize.width / 4 + origin.x, visibleSize.height / 5 + origin.y));

	//LeaderBoard
	auto Leaderboard = MenuItemImage::create("leaderboard.png", "leaderboard.png", CC_CALLBACK_1(LooseScene::GoToLeaderBoard, this));
	Leaderboard->setPosition(Point(visibleSize.width / 2.5 + origin.x, visibleSize.height / 5 + origin.y));

	//Exit button
	auto closeItem = MenuItemImage::create("quit.png", "quit.png", CC_CALLBACK_1(LooseScene::menuCloseCallback, this));
	closeItem->setPosition(Point(visibleSize.width / 1.66 + origin.x, visibleSize.height / 5 + origin.y));

	//Go to the main menu screen
	auto MainMenu = MenuItemImage::create("Mainmenu.png", "Mainmenu.png", CC_CALLBACK_1(LooseScene::GoToMainMenuScene, this));
	MainMenu->setPosition(Point(visibleSize.width / 1.3 + origin.x, visibleSize.height / 5 + origin.y));

	auto NewGameButton = Menu::create(NewGame, NULL);
	NewGameButton->setPosition(Point::ZERO);
	this->addChild(NewGameButton);

	auto Menu = Menu::create(MainMenu, NULL);
	Menu->setPosition(Point::ZERO);
	this->addChild(Menu);

	auto LeaderBoard = Menu::create(Leaderboard, NULL);
	LeaderBoard->setPosition(Point::ZERO);
	this->addChild(LeaderBoard);

	auto exit = Menu::create(closeItem, NULL);
	exit->setPosition(Point::ZERO);
	this->addChild(exit);

	return true;
}
void LayoutReader::setPropsFromJsonDictionary(ui::Widget *widget, const rapidjson::Value &options)
{
    WidgetReader::setPropsFromJsonDictionary(widget, options);
    
    
    std::string jsonPath = GUIReader::shareReader()->getFilePath();
    
    ui::Layout* panel = (ui::Layout*)widget;
    
    float w = 0, h = 0;
    bool adaptScrenn = DICTOOL->getBooleanValue_json(options, "adaptScreen");
    if (adaptScrenn)
    {
        CCSize screenSize = CCDirector::sharedDirector()->getWinSize();
        w = screenSize.width;
        h = screenSize.height;
    }
    else
    {
        w = DICTOOL->getFloatValue_json(options, "width");
        h = DICTOOL->getFloatValue_json(options, "height");
    }
    panel->setSize(CCSizeMake(w, h));
    
    panel->setClippingEnabled(DICTOOL->getBooleanValue_json(options, "clipAble"));
    
    bool backGroundScale9Enable = DICTOOL->getBooleanValue_json(options, "backGroundScale9Enable");
    panel->setBackGroundImageScale9Enabled(backGroundScale9Enable);
    int cr = DICTOOL->getIntValue_json(options, "bgColorR");
    int cg = DICTOOL->getIntValue_json(options, "bgColorG");
    int cb = DICTOOL->getIntValue_json(options, "bgColorB");
    
    int scr = DICTOOL->getIntValue_json(options, "bgStartColorR");
    int scg = DICTOOL->getIntValue_json(options, "bgStartColorG");
    int scb = DICTOOL->getIntValue_json(options, "bgStartColorB");
    
    int ecr = DICTOOL->getIntValue_json(options, "bgEndColorR");
    int ecg = DICTOOL->getIntValue_json(options, "bgEndColorG");
    int ecb = DICTOOL->getIntValue_json(options, "bgEndColorB");
    
    float bgcv1 = DICTOOL->getFloatValue_json(options, "vectorX");
    float bgcv2 = DICTOOL->getFloatValue_json(options, "vectorY");
    panel->setBackGroundColorVector(ccp(bgcv1, bgcv2));
    
    int co = DICTOOL->getIntValue_json(options, "bgColorOpacity");
    
    int colorType = DICTOOL->getIntValue_json(options, "colorType");
    panel->setBackGroundColorType(ui::LayoutBackGroundColorType(colorType));
    panel->setBackGroundColor(ccc3(scr, scg, scb),ccc3(ecr, ecg, ecb));
    panel->setBackGroundColor(ccc3(cr, cg, cb));
    panel->setBackGroundColorOpacity(co);
    
    
    const rapidjson::Value& imageFileNameDic = DICTOOL->getSubDictionary_json(options, "backGroundImageData");
    int imageFileNameType = DICTOOL->getIntValue_json(imageFileNameDic, "resourceType");
    switch (imageFileNameType)
    {
        case 0:
        {
            std::string tp_b = jsonPath;
            const char* imageFileName = DICTOOL->getStringValue_json(imageFileNameDic, "path");
            const char* imageFileName_tp = (imageFileName && (strcmp(imageFileName, "") != 0))?tp_b.append(imageFileName).c_str():NULL;
            panel->setBackGroundImage(imageFileName_tp);
            break;
        }
        case 1:
        {
            const char* imageFileName = DICTOOL->getStringValue_json(imageFileNameDic, "path");
            panel->setBackGroundImage(imageFileName, ui::UI_TEX_TYPE_PLIST);
            break;
        }
        default:
            break;
    }
    
    if (backGroundScale9Enable)
    {
        float cx = DICTOOL->getFloatValue_json(options, "capInsetsX");
        float cy = DICTOOL->getFloatValue_json(options, "capInsetsY");
        float cw = DICTOOL->getFloatValue_json(options, "capInsetsWidth");
        float ch = DICTOOL->getFloatValue_json(options, "capInsetsHeight");
        panel->setBackGroundImageCapInsets(CCRectMake(cx, cy, cw, ch));
    }
    panel->setLayoutType((ui::LayoutType)DICTOOL->getIntValue_json(options, "layoutType"));
    
    
    WidgetReader::setColorPropsFromJsonDictionary(widget, options);
}
Example #20
0
void ActionNode::initWithDictionary(const rapidjson::Value& dic,CCObject* root)
{
	setActionTag(DICTOOL->getIntValue_json(dic, "ActionTag"));
	int actionFrameCount = DICTOOL->getArrayCount_json(dic, "actionframelist");
	for (int i=0; i<actionFrameCount; i++) {

		const rapidjson::Value& actionFrameDic = DICTOOL->getDictionaryFromArray_json(dic, "actionframelist", i);
		int frameInex = DICTOOL->getIntValue_json(actionFrameDic,"frameid");

		bool existPosition = DICTOOL->checkObjectExist_json(actionFrameDic,"positionx");
		if (existPosition)
		{
			float positionX = DICTOOL->getFloatValue_json(actionFrameDic, "positionx");
			float positionY = DICTOOL->getFloatValue_json(actionFrameDic, "positiony");
			ActionMoveFrame* actionFrame = new ActionMoveFrame();
			actionFrame->autorelease();
			actionFrame->setFrameIndex(frameInex);
			actionFrame->setPosition(CCPointMake(positionX, positionY));
			CCArray* cActionArray = (CCArray*)m_FrameArray->objectAtIndex((int)kKeyframeMove);
			cActionArray->addObject(actionFrame);
		}

		bool existScale = DICTOOL->checkObjectExist_json(actionFrameDic,"scalex");
		if (existScale)
		{
			float scaleX = DICTOOL->getFloatValue_json(actionFrameDic, "scalex");
			float scaleY = DICTOOL->getFloatValue_json(actionFrameDic, "scaley");
			ActionScaleFrame* actionFrame = new ActionScaleFrame();
			actionFrame->autorelease();
			actionFrame->setFrameIndex(frameInex);
			actionFrame->setScaleX(scaleX);
			actionFrame->setScaleY(scaleY);
			CCArray* cActionArray = (CCArray*)m_FrameArray->objectAtIndex((int)kKeyframeScale);
			cActionArray->addObject(actionFrame);
		}

		bool existRotation = DICTOOL->checkObjectExist_json(actionFrameDic,"rotation");
		if (existRotation)
		{
			float rotation = DICTOOL->getFloatValue_json(actionFrameDic, "rotation");
			ActionRotationFrame* actionFrame = new ActionRotationFrame();
			actionFrame->autorelease();
			actionFrame->setFrameIndex(frameInex);
			actionFrame->setRotation(rotation);
			CCArray* cActionArray = (CCArray*)m_FrameArray->objectAtIndex((int)kKeyframeRotate);
			cActionArray->addObject(actionFrame);
		}

		bool existOpacity = DICTOOL->checkObjectExist_json(actionFrameDic,"opacity");
		if (existOpacity)
		{
			int opacity = DICTOOL->getIntValue_json(actionFrameDic, "opacity");
			ActionFadeFrame* actionFrame = new ActionFadeFrame();
			actionFrame->autorelease();
			actionFrame->setFrameIndex(frameInex);
			actionFrame->setOpacity(opacity);
			CCArray* cActionArray = (CCArray*)m_FrameArray->objectAtIndex((int)kKeyframeFade);
			cActionArray->addObject(actionFrame);
		}

		bool existColor = DICTOOL->checkObjectExist_json(actionFrameDic,"colorr");
		if (existColor)
		{
			int colorR = DICTOOL->getIntValue_json(actionFrameDic, "colorr");
			int colorG = DICTOOL->getIntValue_json(actionFrameDic, "colorg");
			int colorB = DICTOOL->getIntValue_json(actionFrameDic, "colorb");
			ActionTintFrame* actionFrame = new ActionTintFrame();
			actionFrame->autorelease();
			actionFrame->setFrameIndex(frameInex);
			actionFrame->setColor(ccc3(colorR,colorG,colorB));
			CCArray* cActionArray = (CCArray*)m_FrameArray->objectAtIndex((int)kKeyframeTint);
			cActionArray->addObject(actionFrame);
		}

	}
	initActionNodeFromRoot(root);
}
Example #21
0
/*===*/
bool UISliderTest_Scale9::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 scale9 render");
        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/sliderTrack2.png");
        slider->loadSlidBallTextures("cocosgui/sliderThumb.png", "cocosgui/sliderThumb.png", "");
        slider->loadProgressBarTexture("cocosgui/slider_bar_active_9patch.png");
        slider->setScale9Enabled(true);
        slider->setCapInsets(CCRectMake(0, 0, 0, 0));
        slider->setSize(CCSizeMake(250, 19));
        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_Scale9::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/sliderTrack2.png");
        sliderAllow->loadSlidBallTextures("cocosgui/sliderThumb.png", "cocosgui/sliderThumb.png", "");
        sliderAllow->loadProgressBarTexture("cocosgui/slider_bar_active_9patch.png");
        sliderAllow->setScale9Enabled(true);
        sliderAllow->setCapInsets(CCRectMake(0, 0, 0, 0));
        sliderAllow->setSize(CCSizeMake(250, 10));
        sliderAllow->setPosition(ccp(widgetSize.width / 2.0f, widgetSize.height / 2.0f - slider->getSize().height * 2));
        sliderAllow->addEventListenerSlider(this, sliderpercentchangedselector(UISliderTest_Scale9::sliderEvent));
        m_pUiLayer->addWidget(sliderAllow);
        */
        
        return true;
    }
    return false;
}
Example #22
0
void DPad::processTouch(CCPoint point)
{
	//NSLog(@"Processing touch");
  
	CCSpriteFrameCache *cache = CCSpriteFrameCache::sharedSpriteFrameCache();
	
	//Set a color visual cue if pressed
     
	this->setColor(ccc3(255,200,200));
    TouchableSprite::processTouch(point);
    
	CCPoint center = CCPointMake( this->rect().origin.x+this->rect().size.width/2, this->rect().origin.y+this->rect().size.height/2 );
    
	//Process center dead zone
	if(GameHelper::distanceP1toP2(point, center) < this->rect().size.width/10){
		//NSLog(@"NO TOUCH (dead zone)");
        this->setDisplayFrame(cache->spriteFrameByName( "d_pad_normal.png"));
		
		this->setRotation(0);
		pressedVector = ccp(0,0);
		direction = NO_DIRECTION;
        
       
		return;
	}
	
	//Process direction
	float radians = GameHelper::vectorToRadians(CCPointMake(point.x-center.x, point.y-center.y)); 
	float degrees = GameHelper::radiansToDegrees(radians)+90;
    
	float sin45 = 0.7071067812f;
	
	if(degrees >= 337.5 || degrees < 22.5){
        this->setDisplayFrame( cache->spriteFrameByName("d_pad_horizontal.png"));
		
		 
		this->setRotation(180);
        pressedVector = ccp(-1,0);
        direction = LEFT;
        
     
	}else if(degrees >= 22.5 && degrees < 67.5){
        this->setDisplayFrame( cache->spriteFrameByName( "d_pad_diagonal.png"));
		this->setRotation(-90);
         pressedVector = ccp(-sin45,sin45);
        direction = UP_LEFT;
	}else if(degrees >= 67.5 && degrees < 112.5){
		
        this->setDisplayFrame( cache->spriteFrameByName( "d_pad_horizontal.png"));
		this->setRotation(-90);
        
        pressedVector = ccp(0,1); direction = UP;
	}else if(degrees >= 112.5 && degrees < 157.5){
		
        
        this->setDisplayFrame( cache->spriteFrameByName( "d_pad_diagonal.png"));
		this->setRotation(0);
        pressedVector = ccp(sin45,sin45); direction = UP_RIGHT;
	}else if(degrees >= 157.5 && degrees < 202.5){
		 
        this->setDisplayFrame( cache->spriteFrameByName( "d_pad_horizontal.png"));
		this->setRotation(0);
        pressedVector = ccp(1,0); direction = RIGHT;
	}else if(degrees >= 202.5 && degrees < 247.5){
		 
        this->setDisplayFrame( cache->spriteFrameByName( "d_pad_diagonal.png"));
		this->setRotation(90);
        pressedVector = ccp(sin45,-sin45); direction = DOWN_RIGHT;
	}else if(degrees >= 247.5 && degrees < 292.5){
		
        this->setDisplayFrame( cache->spriteFrameByName( "d_pad_horizontal.png"));
		this->setRotation(90);
        pressedVector = ccp(0,-1); direction = DOWN;
	}else{
		 
        this->setDisplayFrame( cache->spriteFrameByName( "d_pad_diagonal.png"));
		this->setRotation(180);
        pressedVector = ccp(-sin45,-sin45); direction = DOWN_LEFT;
	}
}
Example #23
0
bool CSLayerPopupMsg::init(POPUPMSG_ENUM popEnum, string strTitle, string strMessage)
{
	m_strMessage = strMessage;
	m_strTitle = strTitle;
	m_popEnum = popEnum;

	CCSize size = CCDirector::sharedDirector()->getWinSize();
	
	//添加背景
	CCSprite *pSprite = CCSprite::spriteWithSpriteFrameName(m_strBackground.c_str());
	pSprite->setPosition(ccp(size.width/2, size.height/2));
	addChild(pSprite);

	//标题栏
	CCLabelTTF *pLabel = CCLabelTTF::labelWithString(m_strTitle.c_str(), "DFPHaiBaoW12-GB", 28);
	pLabel->setPosition(ccp(size.width*2/5, size.height*7/10));
	pLabel->setColor(ccc3(200,200,255));
	pSprite->addChild(pLabel);

	//信息
	pLabel = CCLabelTTF::labelWithString(m_strMessage.c_str(), "DFPHaiBaoW12-GB", 28);
	pLabel->setPosition(ccp(size.width/2, size.height/2));
	pLabel->setColor(ccc3(155,155,255));
	pSprite->addChild(pLabel);

	//添加按钮
	CCMenu *pMenu = CCMenu::menuWithItems(NULL);
	pMenu->setPosition(CCPointZero);

	CCMenuItem *pItem;
	if (m_popEnum == POPUP_YESNOCANCEL)
	{
		pItem = CCMenuItemImage::itemFromNormalImage("Images/UI/common/0023.png", "Images/UI/common/0023.png", this, menu_selector(CSLayerPopupMsg::callbackClick));
		pItem->setTag(RESPONSE_YES);
		pItem->setPosition(ccp(size.width*3/10, size.height*2/5));
		pMenu->addChild(pItem, 0);	
		pLabel = CCLabelTTF::labelWithString("确认", "DFPHaiBaoW12-GB", 28);
		pLabel->setPosition(ccp(pItem->getContentSize().width/2, pItem->getContentSize().height/2));
		pItem->addChild(pLabel);
		
		pItem = CCMenuItemImage::itemFromNormalImage("Images/UI/common/0022.png", "Images/UI/common/0022.png", this, menu_selector(CSLayerPopupMsg::callbackClick));
		pItem->setTag(RESPONSE_NO);
		pItem->setPosition(ccp(size.width*5/10, size.height*2/5));
		pMenu->addChild(pItem, 0);	
		pLabel = CCLabelTTF::labelWithString("取消", "DFPHaiBaoW12-GB", 28);
		pLabel->setPosition(ccp(pItem->getContentSize().width/2, pItem->getContentSize().height/2));
		pItem->addChild(pLabel);

		pItem = CCMenuItemImage::itemFromNormalImage("Images/UI/common/0022.png", "Images/UI/common/0022.png", this, menu_selector(CSLayerPopupMsg::callbackClick));
		pItem->setTag(RESPONSE_CANCEL);
		pItem->setPosition(ccp(size.width*7/10, size.height*2/5));
		pMenu->addChild(pItem, 0);
		pLabel = CCLabelTTF::labelWithString("关闭", "DFPHaiBaoW12-GB", 28);
		pLabel->setPosition(ccp(pItem->getContentSize().width/2, pItem->getContentSize().height/2));
		pItem->addChild(pLabel);
	}
	else if (m_popEnum == POPUP_YESNO)
	{
		pItem = CCMenuItemImage::itemFromNormalImage("Images/UI/common/0023.png", "Images/UI/common/0023.png", this, menu_selector(CSLayerPopupMsg::callbackClick));
		pItem->setTag(RESPONSE_YES);
		pItem->setPosition(ccp(size.width*3/10, size.height*2/5));
		pMenu->addChild(pItem, 0);	
		pLabel = CCLabelTTF::labelWithString("确认", "DFPHaiBaoW12-GB", 28);
		pLabel->setPosition(ccp(pItem->getContentSize().width/2, pItem->getContentSize().height/2));
		pItem->addChild(pLabel);

		pItem = CCMenuItemImage::itemFromNormalImage("Images/UI/common/0022.png", "Images/UI/common/0022.png", this, menu_selector(CSLayerPopupMsg::callbackClick));
		pItem->setTag(RESPONSE_NO);
		pItem->setPosition(ccp(size.width*5/10, size.height*2/5));
		pMenu->addChild(pItem, 0);	
		pLabel = CCLabelTTF::labelWithString("取消", "DFPHaiBaoW12-GB", 28);
		pLabel->setPosition(ccp(pItem->getContentSize().width/2, pItem->getContentSize().height/2));
		pItem->addChild(pLabel);

	}
	else if (m_popEnum == POPUP_YES)
	{
		pItem = CCMenuItemImage::itemFromNormalImage("Images/UI/common/0023.png", "Images/UI/common/0023.png", this, menu_selector(CSLayerPopupMsg::callbackClick));
		pItem->setTag(RESPONSE_YES);
		pItem->setPosition(ccp(size.width*3/10, size.height*2/5));
		pMenu->addChild(pItem, 0);	
		pLabel = CCLabelTTF::labelWithString("确认", "DFPHaiBaoW12-GB", 28);
		pLabel->setPosition(ccp(pItem->getContentSize().width/2, pItem->getContentSize().height/2));
		pItem->addChild(pLabel);
	}
	
	addChild(pMenu);

	return true;
}
Example #24
0
void ObjectiveHandler::playObjective(bool showNotification)
{
    //CCLog("new objective received!");
    //CCLog("number of objectives: %d", objectives->count());
    if(objectives->count() <= 0)
    {
        return;
    }
    
    for(int i = 0; i < GameHUD::getThis()->objectiveDescriptions->count(); i++)
    {
        CCLabelTTF* tempLabel = (CCLabelTTF*) GameHUD::getThis()->objectiveDescriptions->objectAtIndex(i);
        GameHUD::getThis()->objectiveMenu->removeChild(tempLabel, true);
    }
    
    if(nextID == 0)
    {
        obj = (Objective*) objectives->objectAtIndex(0);
    }
    else
    {
        obj = NULL;
        for(int i = 0; i < objectives->count(); i++)
        {
            Objective* temp = (Objective*) objectives->objectAtIndex(i);
            if(temp->oid == nextID)
            {
                obj = temp;
            }
        }
    }
    
    if(obj == NULL)
    {
        nextID = currID;
        if(UserProfile::getThis()->gameLevel == 1)
        {
            NotificationPopup::getThis()->showScenario1Congratulations();
        }
        else if(UserProfile::getThis()->gameLevel == 2)
        {
            NotificationPopup::getThis()->showScenario2Congratulations();
        }
        if(UserProfile::getThis()->gameLevel == 4)
        {
            NotificationPopup::getThis()->showScenario4Congratulations();
        }
        else if(UserProfile::getThis()->gameLevel == 5)
        {
            NotificationPopup::getThis()->showScenario5Congratulations();
        }
        else if(UserProfile::getThis()->gameLevel == 6)
        {
            NotificationPopup::getThis()->showScenario6Congratulations();
        }
        return;
    }
    
    stringstream ss;
    stringstream ss1;
    stringstream ss2;
    
    if(obj->oType == GoldGoal)
    {
        ss << "Cumulate Gold";
        ss1 << "Collect gold of " << obj->value << "!";
        ss2 << "(" << GameHUD::getThis()->money << "/" << obj->value << ")";
        progressNumber = GameHUD::getThis()->money;
    }
    else if(obj->oType == FoodGoal)
    {
        ss << "Cumulate Food";
        ss1 << "Collect food of " << obj->value << "!";
        ss2 << "(" << GameHUD::getThis()->foodLabel->getString() << "/" << obj->value << ")";
        progressNumber = ::atoi(GameHUD::getThis()->foodLabel->getString());
    }
    else if(obj->oType == PopulationGoal)
    {
        ss << "Sustain Population";
        ss1 << "Raise your population to " << obj->value << "!";
        CCArray* spritesOnMap = SpriteHandler::getThis()->spritesOnMap;
        int num = 0;
        for (int i = 0; i < spritesOnMap->count(); i++)
        {
            GameSprite* gs = (GameSprite*) spritesOnMap->objectAtIndex(i);
            if(gs->villagerClass != V_CLASS_END && gs->villagerClass != V_BANDIT && gs->getHome() != NULL)
            {
                num++;
            }
        }
        ss2 << "(" << num << "/" << obj->value << ")";
        progressNumber = num;
    }
    else if(obj->oType == RaisePopulationGoal)
    {
        ss << "Raise Population";
        ss1 << "Raise your population by " << obj->value << "!";
        CCArray* spritesOnMap = SpriteHandler::getThis()->spritesOnMap;
        int num = 0;
        for (int i = 0; i < spritesOnMap->count(); i++)
        {
            GameSprite* gs = (GameSprite*) spritesOnMap->objectAtIndex(i);
            if(gs->villagerClass != V_CLASS_END && gs->villagerClass != V_BANDIT)
            {
                num++;
            }
        }
        startPopulation = num;
        targetPopulation = startPopulation + obj->value;
        int currentPopulation = obj->value - (targetPopulation - startPopulation);
        if(currentPopulation < 0)
        {
            currentPopulation = 0;
        }
        else if(currentPopulation > obj->value)
        {
            currentPopulation = obj->value;
        }
        
        ss2 << "(" << obj->value - (targetPopulation - startPopulation) << "/" << obj->value << ")";
        progressNumber = obj->value - (targetPopulation - startPopulation);
    }
    else if(obj->oType == ArmyGoal)
    {
        ss << "Build Army";
        ss1 << "Build 5 guard towers and man them.";
        
        int numberOfMannedTowers = 0;
        CCArray* guardTowers = BuildingHandler::getThis()->militaryOnMap;
        for(int i = 0; i < guardTowers->count(); i++)
        {
            Building* bui = (Building*)guardTowers->objectAtIndex(i);
            if(bui->memberSpriteList->count() > 0)
            {
                numberOfMannedTowers += 1;
            }
        }
        
        ss2 << "(" << numberOfMannedTowers << "/" << obj->value << ")";
        progressNumber = numberOfMannedTowers;
    }
    else if(obj->oType == ReputationGoal)
    {
        ss << "Achieve Reputation";
        ss1 << "Raise your reputation to " << obj->value << "!";
        ss2 << "(" << GameHUD::getThis()->reputation << "/" << obj->value << ")";
        progressNumber = GameHUD::getThis()->reputation;
    }
    else if(obj->oType == BuildBuilding)
    {
        ss << "Build a Building";
        ss1 << "Build a Building: " << obj->strValue << "!";
        ss2 << "(Build: Incomplete)";
        progressNumber = 0;
    }
    else if(obj->oType == DisplayGoal)
    {
        ss << obj->title;
        ss1 << obj->content;
        ss2 << obj->progress;
    }
    else
    {
        ss << "OBJECTIVE";
        ss1 << "There is no objectives currently!";
        ss2 << "";
        progressNumber = -1;
    }
    
    GameHUD::getThis()->objectiveTitle->setString(ss.str().c_str());
    GameHUD::getThis()->objectiveProgress->setString(ss2.str().c_str());
    
    string objectiveDescription = ss1.str();
    vector<string> objectiveDescriptionTokens = GlobalHelper::split(objectiveDescription, ' ');
    
    CCSize screenSize = CCDirector::sharedDirector()->getWinSize();
    ccColor3B colorWhite = ccc3(255, 255, 255);
    
    float startX = screenSize.width * 0.11f;
    float startY = screenSize.height - 510;
    float offX = 0;
    float offY = 0;
    float limit = 700;
    
    
    string tempString = "";
    string previousString = "";
    for (int i = 0; i < objectiveDescriptionTokens.size(); i++)
    {
        previousString = tempString;
        string temp = objectiveDescriptionTokens.at(i);
        if (i > 0)
        {
            tempString = tempString + " ";
        }
        tempString = tempString + temp;
        CCLabelTTF* tempLabel = CCLabelTTF::create(tempString.c_str(), "Shojumaru-Regular", 28);
        tempLabel->retain();
        if(startX + tempLabel->boundingBox().size.width > limit)
        {
            CCLabelTTF* theLabel = CCLabelTTF::create(previousString.c_str(), "Shojumaru-Regular", 28);
            theLabel->setAnchorPoint(ccp(0, 1));
            theLabel->setPosition(ccp(startX + offX, startY + offY));
            theLabel->setColor(colorWhite);
            GameHUD::getThis()->objectiveDescriptions->addObject(theLabel);
            GameHUD::getThis()->objectiveMenu->addChild(theLabel);
            tempString = temp;
            offY -= 25;
        }
        CC_SAFE_RELEASE(tempLabel);
    }
    
    CCLabelTTF* tempLabel = CCLabelTTF::create(tempString.c_str(), "Shojumaru-Regular", 28);
    tempLabel->setAnchorPoint(ccp(0, 1));
    tempLabel->setPosition(ccp(startX + offX, startY + offY));
    tempLabel->setColor(colorWhite);
    GameHUD::getThis()->objectiveDescriptions->addObject(tempLabel);
    GameHUD::getThis()->objectiveMenu->addChild(tempLabel);
    
    currID = obj->oid;
    nextID = obj->nid;
    
    if(obj->timeLimit > 0)
    {
        ss.str(std::string());
        if(obj->timeLimit < 10)
        {
            ss << "0";
        }
        ss << obj->timeLimit << ":" << "00";
        
        GameHUD::getThis()->objectiveTime->setString(ss.str().c_str());
        GameHUD::getThis()->objectiveTime->setVisible(true);
        GameHUD::getThis()->targetTime = obj->timeLimit * 60.0f;
        GameHUD::getThis()->currentTime = 0;
        GameHUD::getThis()->hasTimer = true;
    }
    else
    {
        GameHUD::getThis()->objectiveTime->setVisible(false);
    }
    
    stringstream sss;
    sss << "You receive a new objective!";
    GameHUD::getThis()->addNewNotification(sss.str());
    
    if(showNotification)
    {
        GameHUD::getThis()->scheduleShowNewObjectiveNotification();
    }
    
    if(obj->scheduleScenario)
    {
        GameHUD::getThis()->hasScenario = true;
        GameHUD::getThis()->scenarioTime = obj->scenarioTime;
    }
}
Example #25
0
CCLayer* Tornado::getUnitCardDesc(int level,bool isAll) {
    CCLayer* layer = CCLayer::create();
    float attackLevelData = MyUtil::getInstance()->updateLevelByRate(0,baseDamage, level, updateDamageRate);
    float attackMaxData = MyUtil::getInstance()->updateLevelByRate(0,baseDamage, unitBean->getMaxLevel(), updateDamageRate);
    CCSprite* attackIcon = CCSprite::createWithSpriteFrameName("damageIcon.png");
    attackIcon->setPosition(ccp(40,360));
    layer->addChild(attackIcon);
    attackIcon->setScale(1.3);
    GXProgressBar* attackBar = GXProgressBar::create(CCSprite::create("levelBarUp.png"), CCSprite::create("BarDown.png"));
    
    attackBar->setContentSize(CCSizeMake(416,20));
    attackBar->updatePercentage((attackLevelData+baseDamage*unitBean->getMaxLevel())/(attackMaxData+baseDamage*unitBean->getMaxLevel()));
    attackBar->setPosition(ccp(70,337));
    
    
    char str[100] = {0};
    sprintf(str, "每秒造成伤害:%d",(int)(attackLevelData));
    
    CCLabelTTF* attackLabel = CCLabelTTF::create(str, "Arial", 28);
    attackLabel->setAnchorPoint(ccp(0,0));
    attackLabel->setColor(ccc3(238,204,122));
    attackLabel->setPosition(ccp(70,352));
    layer->addChild(attackBar);
    layer->addChild(attackLabel);
    
    //    CCLog("damageRate:%f",attackLevelData/attackMaxData);
    
    float speedLevelData = MyUtil::getInstance()->updateLevelByCount(baseSpeed, level, updateSpeedRate);
    
    float speedMaxData = MyUtil::getInstance()->updateLevelByCount(baseSpeed, unitBean->getMaxLevel(), updateSpeedRate);
    
    CCSprite* speedIcon = CCSprite::createWithSpriteFrameName("speedIcon.png");
    speedIcon->setScale(1.3);
    speedIcon->setPosition(ccp(40,300));
    layer->addChild(speedIcon);
    GXProgressBar* speedBar = GXProgressBar::create(CCSprite::create("levelBarUp.png"), CCSprite::create("BarDown.png"));
    
    speedBar->setContentSize(CCSizeMake(416,20));
    speedBar->updatePercentage(speedLevelData/speedMaxData);
    speedBar->setPosition(ccp(70,277));
    
    sprintf(str, "移动速度:%d",(int)(speedLevelData*10));
    
    CCLabelTTF* speedLabel = CCLabelTTF::create(str, "Arial", 24);
    speedLabel->setAnchorPoint(ccp(0,0));
    speedLabel->setColor(ccc3(238,204,122));
    speedLabel->setPosition(ccp(70,292));
    layer->addChild(speedBar);
    layer->addChild(speedLabel);
    
    //    CCLog("speedRate:%f",speedLevelData/speedMaxData);
    
    float healthLevelData = MyUtil::getInstance()->updateLevelByRate(0,baseHealth, level, updateHealthRate);
    float healthMaxData = MyUtil::getInstance()->updateLevelByRate(0,baseHealth, unitBean->getMaxLevel(),updateHealthRate);
    
    
    CCSprite* healthIcon = CCSprite::createWithSpriteFrameName("healthIcon.png");
    healthIcon->setScale(1.3);
    healthIcon->setPosition(ccp(40,240));
    layer->addChild(healthIcon);
    GXProgressBar* healthBar = GXProgressBar::create(CCSprite::create("levelBarUp.png"), CCSprite::create("BarDown.png"));
    
    healthBar->setContentSize(CCSizeMake(416,20));
    healthBar->updatePercentage((healthLevelData+baseHealth*unitBean->getMaxLevel())/(healthMaxData+baseHealth*unitBean->getMaxLevel()));
    
    healthBar->setPosition(ccp(70,217));
    
    sprintf(str, "耐久度:%d",(int)healthLevelData);
    
    CCLabelTTF* healthLabel = CCLabelTTF::create(str, "Arial", 24);
    healthLabel->setAnchorPoint(ccp(0,0));
    healthLabel->setColor(ccc3(238,204,122));
    healthLabel->setPosition(ccp(70,232));
    layer->addChild(healthBar);
    layer->addChild(healthLabel);
    
    //    CCLog("lifeRate:%f",healthLevelData/healthMaxData);
    
    float costLevelData = MyUtil::getInstance()->updateLevelByRate(0,baseCost, level, updateCostRate);
    float costMaxData = MyUtil::getInstance()->updateLevelByRate(0,baseCost, unitBean->getMaxLevel(), updateCostRate);
    
    CCSprite* costIcon = CCSprite::createWithSpriteFrameName("oilIcon.png");
    costIcon->setPosition(ccp(40,180));
    costIcon->setScale(40/costIcon->getContentSize().width);
    layer->addChild(costIcon);
    
    
    GXProgressBar* costBar = GXProgressBar::create(CCSprite::create("levelBarUp.png"), CCSprite::create("BarDown.png"));
    
    costBar->setContentSize(CCSizeMake(416,20));
    costBar->updatePercentage((costLevelData+baseCost*unitBean->getMaxLevel())/(costMaxData+baseCost*unitBean->getMaxLevel()));
    
    costBar->setPosition(ccp(70,157));
    
    
    sprintf(str, "派遣使用油料:%d",(int)(costLevelData));
    CCLabelTTF* costLabel = CCLabelTTF::create(str, "Arial", 24);
    costLabel->setAnchorPoint(ccp(0,0));
    costLabel->setColor(ccc3(238,204,122));
    costLabel->setPosition(ccp(70,172));
    layer->addChild(costBar);
    layer->addChild(costLabel);
    
    if (!isAll) {
        return layer;
    }
    
    
    sprintf(str, "最大等级:%d",(int)unitBean->getMaxLevel());
    CCLabelTTF* description1 = CCLabelTTF::create(str, "Arial",  26);
    description1->setAnchorPoint(ccp(0.5,0.5));
    description1->setColor(ccc3(238,204,122));
    description1->setPosition(ccp(260,110));
    layer->addChild(description1);
    
    
    CCSprite* underline1 = CCSprite::createWithSpriteFrameName("underline.png");
    underline1->setPosition(ccp(260,95));
    layer->addChild(underline1);
    
    
    sprintf(str, "攻击距离:%d格",(int)baseAttackRange);
    CCLabelTTF* description2 = CCLabelTTF::create(str, "Arial",  26);
    description2->setAnchorPoint(ccp(0.5,0.5));
    description2->setColor(ccc3(238,204,122));
    description2->setPosition(ccp(260,70));
    layer->addChild(description2);
    
    CCSprite* underline2 = CCSprite::createWithSpriteFrameName("underline.png");
    underline2->setPosition(ccp(260,55));
    layer->addChild(underline2);
    
    
    CCLabelTTF* description3 = CCLabelTTF::create("主要目标:任意目标", "Arial",  26);
    description3->setAnchorPoint(ccp(0.5,0.5));
    description3->setColor(ccc3(238,204,122));
    description3->setPosition(ccp(260,30));
    layer->addChild(description3);
    
    CCSprite* underline3 = CCSprite::createWithSpriteFrameName("underline.png");
    underline3->setPosition(ccp(260,15));
    layer->addChild(underline3);
    return layer;
}
Example #26
0
bool xuanren::init(){
    if(!CCLayer::init()){
        return false;
    }
    
    CCLog("xuanren---------------------------0");
    flag=0;
    size=CCDirector::sharedDirector()->getWinSize();
    CCSprite *backGround=CCSprite::create("selectrole_bkg.png");
    backGround->setPosition(ccp(size.width/2, size.height/2));
    this->addChild(backGround);
   CCSprite *  kuang=CCSprite::create("common_item_bkg.png");
    kuang->setScale(1);
    kuang->setTag(9002);
//    kuang->setAnchorPoint(ccp(0, 0));
    selectBtn=CCMenuItemImage::create("common_btn_ok_1.png", "common_btn_ok_2.png", "common_btn_ok_3.png",this, menu_selector(xuanren::EnterName));
    selectBtn->setScale(1.3);
    CCMenu *selectMenu=CCMenu::create(selectBtn,NULL);
    selectMenu->setPosition(ccp(size.width/2, 100));
    this->addChild(selectMenu,1);

     CCLog("xuanren---------------------------1");
    
    jieshao=CCLabelTTF::create("", "hycc.ttf", 23, CCSizeMake(450,58),kCCTextAlignmentCenter);
    jieshao->setColor(ccc3(134,105,59));
    jieshao->setAnchorPoint(ccp(0, 0));
    jieshao->setPosition(ccp(50, 245));//原始375
    jieshao->setDimensions(CCSizeMake(300, 0));
    jieshao->setHorizontalAlignment(kCCTextAlignmentLeft);
    jieshao->setVerticalAlignment(kCCVerticalTextAlignmentTop);
    this->addChild(jieshao,1);
    mingcheng=CCLabelTTF::create("第三方","hycc.ttf" , 40, CCSizeMake(120,40), kCCTextAlignmentLeft);
    mingcheng->setPosition(ccp(80, 905));//原始275
    //this->addChild(mingcheng,1);
    jineng=CCLabelTTF::create("技能:啊啊", "hycc.ttf", 25,CCSizeMake(135,25), kCCTextAlignmentLeft);
    jineng->setPosition(ccp(85, 860));//原始280
    //this->addChild(jineng,1);
    mingcheng=CCLabelTTF::create("第三方","hycc.ttf" , 40, CCSizeMake(110,40), kCCTextAlignmentLeft);
//    touxiang1=CCSprite::create(r_xuanren_icon);
//    touxiang1->setPosition(ccp(540, 835));//原始100
//    touxiang2=CCSprite::create(r_xuanren_icon);
//    touxiang2->setPosition(ccp(540, 660));
//    touxiang3=CCSprite::create(r_xuanren_icon);
//    touxiang3->setPosition(ccp(540, 485));
    
    
//    CCSize sz = CCSizeMake(72, 72);
    
    btn1=CCMenuItemImage::create("common_item_bkg1.png", "common_item_bkg1.png", this, menu_selector(xuanren::FirstPerson));
    CCSize btnSize=btn1->getContentSize();
    btn1->setScale(1.0);
    
     CCLog("xuanren---------------------------2");
    
    CCSprite* btnsp1 = CCSprite::create("qs_0001.png");
    btnsp1->setScale(0.18);
    btnsp1->setAnchorPoint(ccp(0.5,0.5));
    //btnsp1->setPosition(ccp(0,0));
    btn1->addChild(btnsp1);
    btnsp1->setPosition(ccp(btnSize.width/2, btnSize.height/2));
//    btn1->setScale(0.38);
//    CCSprite * pzk=CCSprite::create("pz_k_04.png");
//    pzk->setAnchorPoint(ccp(0, 0));
//    pzk->setPosition(ccp(0, 0));
//    btn1->addChild(pzk);
//    btn1->setPosition(ccp(-160, 0));//0  175
    
    
    btn2=CCMenuItemImage::create("common_item_bkg1.png", "common_item_bkg1.png", this, menu_selector(xuanren::SecondPerson));
    btn2->setScale(1.0);
    
    CCSprite* btnsp2 = CCSprite::create("qs_0002.png");
    btnsp2->setScale(0.18);
    btnsp2->setAnchorPoint(ccp(0.5,0.5));
    btn2->addChild(btnsp2);
    btnsp2->setPosition(ccp(btnSize.width/2, btnSize.height/2));
//    CCSprite * pzk2=CCSprite::create("pz_k_04.png");
//    pzk2->setAnchorPoint(ccp(0, 0));
//    pzk2->setPosition(ccp(0, 0));
//    btn2->addChild(pzk2);
//    btn2->setPosition(ccp(0, 0));//0    0
    
    
    btn3=CCMenuItemImage::create("common_item_bkg1.png", "common_item_bkg1.png", this, menu_selector(xuanren::ThridPerson));
    btn3->setScale(1.0);
    
    CCSprite* btnsp3 = CCSprite::create("qs_0003.png");
    btnsp3->setScale(0.18);
    btnsp3->setAnchorPoint(ccp(0.5,0.5));
    btn3->addChild(btnsp3);
    btnsp3->setPosition(ccp(btnSize.width/2, btnSize.height/2));
//    CCSprite * pzk3=CCSprite::create("pz_k_04.png");
//    pzk3->setAnchorPoint(ccp(0, 0));
//    pzk3->setPosition(ccp(0, 0));
//    btn3->addChild(pzk3);
//    btn3->setPosition(ccp(160, 0));//0    0
    
    
    
    
    
//    CCSize sz = btn1->getContentSize();
//    kuang->setPosition(ccp(sz.width/2, sz.height/2));
//    btn1->addChild(kuang,1);
    
    
    
    
    CCMenu *menu=CCMenu::create(btn1,btn2,btn3,NULL);
    menu->alignItemsHorizontallyWithPadding(30);
    menu->setPosition(ccp(size.width/2, size.height/2-218));//原始92    548 660
    this->addChild(menu);
    
    
    renwu=CCSprite::create();
    renwu->setPosition(ccp(size.width/2, size.height/2+100));//原始380
    this->addChild(renwu);
     CCLog("xuanren---------------------------3");
    
    FirstPerson();
    
    return true;
    
}
Example #27
0
void LayerLogin::zhenping(){
    
    
    pSpriteDialogLogin = CCSprite::createWithSpriteFrame(CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName("login_input.png"));//CCSprite::create("login_bg_en.png");
    pSpriteDialogLogin->setPosition(ccp(winSize.width*0.5,winSize.height *0.5-100));
    this->addChild(pSpriteDialogLogin);
    
    
      
    
    
    CCMenuItemImage* btn_login = CCMenuItemImage::create();
    btn_login->setNormalSpriteFrame(CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName("login_login_1.png"));
    btn_login->setSelectedSpriteFrame(CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName("login_login_2.png"));
    btn_login->setTarget(this, SEL_MenuHandler(&LayerLogin::menuItemCallbackLogin));
    
    CCMenu *pMenu = CCMenu::create();
    pMenu->alignItemsHorizontally();
    pMenu->addChild(btn_login);
    //pMenu->setPosition(pSpriteDialogLogin->getContentSize().width-75,pSpriteDialogLogin->getContentSize().height/2-10);
    pMenu->setPosition(ccp(winSize.width/2-30, winSize.height/2-460));
    pMenu->setTouchPriority(1);
    pSpriteDialogLogin->addChild(pMenu);
    
    
    CCScale9Sprite* editbkg = CCScale9Sprite::create();
    
    editBoxUsername = CCEditBox::create(CCSizeMake(210,50),editbkg);
    editBoxUsername->setReturnType(kKeyboardReturnTypeDone);
    //editBoxUsername->setFontSize(12);
    editBoxUsername->setText("");
    editBoxUsername->setFontColor(ccc3(158, 122, 83));
    editBoxUsername->setMaxLength(8);
    editBoxUsername->setPosition(ccp(winSize.width/2-10,96));//160,100
    pSpriteDialogLogin->addChild(editBoxUsername,2);
    
    CCScale9Sprite* editbkg1 = CCScale9Sprite::create();
    editBoxPassword = CCEditBox::create(CCSizeMake(185, 50),editbkg1);
    editBoxPassword->setReturnType(kKeyboardReturnTypeDone);
    editBoxPassword->setInputFlag(kEditBoxInputFlagPassword);
    editBoxPassword->setFontColor(ccc3(158, 122, 83));
    editBoxPassword->setMaxLength(8);
  //  editBoxPassword->setFontSize(12);
    editBoxPassword->setText("");
    editBoxPassword->setPosition(ccp(winSize.width/2-17,45));//160,60
    
    pSpriteDialogLogin->addChild(editBoxPassword,2);
    
//    CCSprite* bs = CCSprite::createWithSpriteFrame(CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName("login_bs.png"));
//    bs->setPosition(ccp(pSpriteDialogLogin->getContentSize().width, 0));
//    pSpriteDialogLogin->addChild(bs);
//    logo->setAtlasIndex(0);
//    CCScene * f = CCDirector::sharedDirector()->getRunningScene();
//    CCPoint size =ccp(308, 756);
//    CCActionInterval * left1 = CCMoveTo::create(0.05,ccp(size.x+5,size.y));
//    CCActionInterval * right1 = CCMoveTo::create(0.05,ccp(size.x-5,size.y));
//    CCActionInterval * top1 = CCMoveTo::create(0.05,ccp(size.x,size.y+5));
//    CCActionInterval * rom1 = CCMoveTo::create(0.05,ccp(size.x,size.y-5));
//    CCFiniteTimeAction* action3 = CCSequence::create(left1,right1,top1,rom1,NULL);
//    f->getChildByTag(2807)->getChildByTag(9021)->runAction(CCRepeat::create(action3, 1));
}
Example #28
0
// on "init" you need to initialize your instance
bool GameSceneQuattro::init()
{
    //////////////////////////////
    // 1. super init first
    if ( !Layer::init() )
    {
        return false;
    }

     _visibleSize = Director::getInstance()->getVisibleSize();
    _origin = Director::getInstance()->getVisibleOrigin();

    //definisco le pallina che lancia Gugut
    _pietre = new Vector<Sprite*>(20);
    for (int i = 0; i < 19; ++i) {
        auto *pietra =  Sprite::create("pietra.png");
        pietra->setVisible(false);
        pietra->setTag(PIETRA_TAG);


        this->addChild(pietra, 11);
        _pietre->pushBack(pietra);
    }

	#define MUMEROPALLINE 5
    _palline = new Vector<PallinaSprite*>(MUMEROPALLINE);
    char strPallina[100] = {0};
    for (int i = 2; i < 6; ++i) {
        sprintf(strPallina, "sfera_%02d.png",i); //da 02 .. 05  totale 4 palline
        auto *pallina = PallinaSprite::pallinaSpriteWithFile(strPallina);
        pallina->setVisible(true);
        pallina->setTag(i);

		if(i == 2){
		        auto spriteBody = PhysicsBody::createCircle(pallina->getContentSize().width/2,  PhysicsMaterial(1.0f, 1.0f, 0.1f));
		        spriteBody->setCollisionBitmask(3);
		        spriteBody->setContactTestBitmask(true);
		        pallina->setPhysicsBody( spriteBody );
                pallina->setPosition(Vec2( _visibleSize.width / 2 + _origin.x, _visibleSize.height / 2 + _origin.y ));
                spriteBody->setTag(12);
		        pallina->setPunti(10);
		}
		if(i == 3){
			        auto spriteBody = PhysicsBody::createCircle(pallina->getContentSize().width/2,  PhysicsMaterial(0.05f, 1.0f, 0.1f));
			        spriteBody->setCollisionBitmask(3);
			        spriteBody->setContactTestBitmask(true);
			        pallina->setPhysicsBody( spriteBody );
	                pallina->setPosition(Vec2( _visibleSize.width / 3 + _origin.x, _visibleSize.height / 3 + _origin.y ));
	                spriteBody->setTag(13);
			        pallina->setPunti(10);
			}
		if(i == 4){
			        auto spriteBody = PhysicsBody::createCircle(pallina->getContentSize().width/2,  PhysicsMaterial(0.95f, 1.0f, 0.1f));
			        spriteBody->setCollisionBitmask(3);
			        spriteBody->setContactTestBitmask(true);
			        pallina->setPhysicsBody( spriteBody );
	                pallina->setPosition(Vec2( _visibleSize.width / 4 + _origin.x, _visibleSize.height / 2 + _origin.y ));
	                spriteBody->setTag(14);
			        pallina->setPunti(10);
			}
		if(i == 5){
			        auto spriteBody = PhysicsBody::createCircle(pallina->getContentSize().width/2,  PhysicsMaterial(0.05f, 0.9f, 0.9f));
			        spriteBody->setCollisionBitmask(3);
			        spriteBody->setContactTestBitmask(true);
			        pallina->setPhysicsBody( spriteBody );
	                pallina->setPosition(Vec2( _visibleSize.width * 0.8 + _origin.x, _visibleSize.height / 2 + _origin.y ));
	                spriteBody->setTag(15);
			        pallina->setPunti(10);
			}
        this->addChild(pallina, 9);
        _palline->pushBack(pallina);
        //applico forza
      //  if(i == 4)
       // 	pallina->getPhysicsBody()->applyForce( Vect(100, 78) );
       // if(i == 5)
       //        	pallina->getPhysicsBody()->applyForce( Vect(200, 78) );
    }



    _muro = Sprite::create("muro.png");
    _muro->setAnchorPoint(Vec2(0.0,  0.0));
    _muro->setPosition(Vec2(_origin.x,  _origin.y));
    this->addChild(_muro, 6);

    //Gugut
    _gugutAnimato = Sprite::create("gugut_01.png");
    _gugutAnimato->setVisible(true);
    _gugutAnimato->setAnchorPoint(Vec2(0.5,  0.2));//+(_muro->getContentSize().height )+(_gugutAnimato->getContentSize().height )
    //_gugutAnimato->setPosition(Vec2(_muro->getContentSize().width/2 + origin.x, (_muro->getContentSize().height * 1.45)+ origin.y));
    _gugutAnimato->setPosition(Vec2(_muro->getContentSize().width/2 + _origin.x,(_muro->getContentSize().height )+ _origin.y));

    this->addChild(_gugutAnimato, 8);


    auto edgeBody = PhysicsBody::createEdgeBox( _visibleSize, PHYSICSBODY_MATERIAL_DEFAULT, 3 );

    auto edgeNode = Node::create();
    edgeNode ->setPosition( Point( _visibleSize.width / 2 + _origin.x, _visibleSize.height / 2 + _origin.y ) );
    edgeNode->setPhysicsBody( edgeBody );

    this->addChild( edgeNode );


    auto contactListener = EventListenerPhysicsContact::create();
    contactListener->onContactBegin = CC_CALLBACK_1(GameSceneQuattro::onContactBegin, this);
    this->getEventDispatcher()->addEventListenerWithSceneGraphPriority(contactListener, this);





    auto dispatcher = Director::getInstance()->getEventDispatcher();
    auto listener = EventListenerTouchOneByOne::create();

    listener->onTouchBegan = CC_CALLBACK_2(GameSceneQuattro::onTouchBegan, this);
    listener->onTouchMoved = CC_CALLBACK_2(GameSceneQuattro::onTouchMoved, this);

    dispatcher->addEventListenerWithSceneGraphPriority(listener, this);



    addPartcleStella(Vec2(0,0));


    Sprite* parent = Sprite::create("unpixel.png");
    parent->setTextureRect(CCRectMake(0,0, 400, 200));
    parent->setColor(ccc3(255,0, 0));
    parent->setAnchorPoint(Vec2(0,0));
    parent->setPosition(Vec2( _visibleSize.width / 2 + _origin.x, _visibleSize.height / 2 + _origin.y));
    auto edgeBody2 = PhysicsBody::createBox( parent->getContentSize( ), PHYSICSBODY_MATERIAL_DEFAULT, Vec2(0,0) );
    edgeBody2->setDynamic(false);
    parent->setPhysicsBody( edgeBody2 );
    this->addChild(parent, 20);

    return true;
}
Example #29
0
void SGRankDetailLayer::initView(SGGamePlayerInfo*player,int type)
{

    SGMainScene *mainScene = SGMainManager::shareMain()->getMainScene();
    SGMainLayer* mainLayer = (SGMainLayer *)mainScene->getChildByTag(sg_mainLayer);
    SGMyFriend* myLayer = (SGMyFriend *)mainScene->getChildByTag(sg_myFriend);
    if(myLayer)
    {
        
       
        myLayer->tableView->setIsTouchEnabled(false);
       
    }
    mainLayer->setIsCanTouch(false);
    mainLayer->setPortraitMenuCanTouch(false);
    SGBaseLayer *layer = (SGBaseLayer *)mainScene->getChildByTag(mainScene->nowLayerTag);
    if (layer != NULL)
    {
        layer->setIsCanTouch(false);
    }
    
    ResourceManager::sharedInstance()->bindTexture("sgchat/sgchat.plist", RES_TYPE_LAYER_UI, sg_box_rankDetailLayer);
    ResourceManager::sharedInstance()->bindTexture("sgembattlelayer/sgembattlelayer.plist", RES_TYPE_LAYER_UI, sg_box_rankDetailLayer, LIM_PNG_AS_PNG);
    ResourceManager::sharedInstance()->bindTexture("soldier/soldier3101-1-3303-3.plist" , RES_TYPE_LAYER_UI, sg_box_rankDetailLayer);
    ResourceManager::sharedInstance()->bindTexture("soldier/soldier3101-3303.plist" , RES_TYPE_LAYER_UI, sg_box_rankDetailLayer);
    ResourceManager::sharedInstance()->bindTexture("sggeneralinfolayer/ofcNewUi.plist" , RES_TYPE_LAYER_UI, sg_box_rankDetailLayer);
    ResourceManager::sharedInstance()->bindTexture("sgfirstlayer/sgfirstlayer.plist", RES_TYPE_LAYER_UI, sg_box_rankDetailLayer, LIM_PNG_AS_PNG);
    ResourceManager::sharedInstance()->bindTexture("headIcon/headCountry.plist", RES_TYPE_LAYER_UI, sg_box_rankDetailLayer);
  
    CCSize s=CCDirector::sharedDirector()->getWinSize();
    CCPoint center=  SGLayout::getPoint(kMiddleCenter);
    fontbg->setPreferredSize(CCSizeMake(592, 270));
    fontbg->setPosition(ccpAdd(center, ccp(0, -90)));
    
    

   
    //
    //_player=new SGGamePlayerInfo();
    _player=player;
    _player->retain();
    
    
    SGButton *ok = SGButton::create("box_btn_newbg.png",
                                    "public_font_queding.png",
                                    this,
                                    menu_selector(SGRankDetailLayer::boxClose),
                                    ccp(0, 0),
                                    false,
                                    true);
    
    this->addBtn(ok);
    ok->setPosition(ccpAdd(SGLayout::getPoint(kMiddleCenter), ccp(0, -270)));////根据框的大小设置位置
    
    
    
 ///////////玩家国家头像
    SGButton*  portrait_bg = SGButton::create("player_portrait.png", CCString::createWithFormat( "countryIconbig_%d.png",_player->getCountry()>0?_player->getCountry():1)->getCString(),
                                   this, NULL,ccp(0.5, -6),false,true);
    
    //  portrait_bg->setAnchorPoint(ccp(0, 0));
    float wid = s.width - 115*4  ;
    portrait_bg->setPosition(ccp(wid/2, 245+center.y));
    this->addChild(portrait_bg);
    
    //人名
    SGCCLabelTTF* nickname =  SGCCLabelTTF::create(_player->getNickName()->getCString(),FONT_BOXINFO,FONTSIZE(16) );
    nickname->setAnchorPoint(ccp(0, 0.5));
    nickname->setPosition(ccpAdd(portrait_bg->getPosition(), ccp(portrait_bg->getContentSize().width*0.7, portrait_bg->getContentSize().height*0.25)));
    //modify by:zyc. merge into create.
    //nickname->setColor(ccRED);
    this->addChild(nickname);
 ///等级
    SGCCLabelTTF* levellabel =  SGCCLabelTTF::create(CCString::create("Lv")->getCString(),FONT_PANGWA,FONTSIZE(12) , ccc3(0xff, 0xc0, 0x00));
    //modify by:zyc. merge into create.
    //levellabel->setColor(ccc3(0xff, 0xc0, 0x00));
    levellabel->setAnchorPoint(ccp(0, 0.5));
    levellabel->setPosition(ccpAdd(nickname->getPosition(), ccp(0, -nickname->getContentSize().height*1.1)));
    this->addChild(levellabel);
 ///等级数值
    SGCCLabelTTF* levelnum =  SGCCLabelTTF::create(CCString::createWithFormat("%d", _player->getLevel())->getCString(),FONT_PANGWA,FONTSIZE(12));
    
    levelnum->setAnchorPoint(ccp(0, 0.5));
    levelnum->setPosition(ccpAdd(levellabel->getPosition(), ccp(levellabel->getContentSize().height*1.5, 0)));
    this->addChild(levelnum);
    
//军衔
    SGCCLabelTTF* junxian =  SGCCLabelTTF::create( _player->getpvpRankName()->getCString(),FONT_PANGWA,FONTSIZE(12));
    junxian->setAnchorPoint(ccp(0, 0.5));
    junxian->setPosition(ccpAdd(levellabel->getPosition(), ccp(150, -0)));
    this->addChild(junxian);
//战斗力
    SGCCLabelTTF* zhandouli =  SGCCLabelTTF::create(CCString::create(str_EmbattleLayer_str4)->getCString(),FONT_PANGWA,FONTSIZE(12) , ccc3(0xff, 0xc0, 0x00));
    zhandouli->setAnchorPoint(ccp(0, 0.5));
    zhandouli->setPosition(ccpAdd(levellabel->getPosition(), ccp(0, -levellabel->getContentSize().height*1.1)));
    //modify by:zyc. merge into create.
    //zhandouli->setColor(ccc3(0xff, 0xc0, 0x00));
    this->addChild(zhandouli);
    
  ///战斗力数值
    SGCCLabelTTF* num =  SGCCLabelTTF::create(CCString::createWithFormat("%d", _player->getCombatValue())->getCString(),FONT_PANGWA,FONTSIZE(12));
    
    num->setAnchorPoint(ccp(0, 0.5));
    num->setPosition(ccpAdd(zhandouli->getPosition(), ccp(zhandouli->getContentSize().width*1.2,0 )));
    this->addChild(num);
    
    const char aa[][100]={str_wujiang,str_soldiers,str_MainTaskLayer_str9,str_other};
    
    for (int j=0;j<4;++j)
    {
        SGButton *btn = SGButton::createFromLocal("store_exchangebtnbg.png", aa[j], this, menu_selector(SGRankDetailLayer::showinfo),CCPointZero,FONT_PANGWA,ccWHITE,25);
        btn->setPosition(ccp(0+btn->getContentSize().width*j, center.y+100));
        
        float tt=  s.width-( btn->getContentSize().width*4.8);
        
        btn->setPosition(ccp(btn->getContentSize().width*j*1.26+tt*0.5, center.y+110));
        
        btn->setAnchorPoint(ccp(0, 1));
        btn->setTag(j+100);//防止和下面tag重了
        
        addBtn(btn);
        if( type==0 )
        {
            if(j==0)
            {
                btn->setEnabled(false);
            }
            else
            {
                btn->setEnabled(false);
                btn->setImage("barrack_anniu_hui.png");
            }
            // btn->setFontColor(ccc3(70, 70, 70));
        }
    }

    ///////////////////////////////////////////////////////////////////////////////////////////////////武将    tag为0到10系列
    
    officedarray=CCArray::create();
   
    officedarray= _player->getOfficerCardItemArray();
    officedarray->retain();
    soldierarray=CCArray::create();
    soldierarray= _player->getembattlesoldierArray();
    soldierarray->retain();
    int maxnum=-10;
    _player->getePVPOfficerArray()->count();
    
    if(type==0)
    {
        maxnum=_player->getePVPOfficerArray()->count()-1;
    }
    else
    {
        maxnum=officedarray->count()-1;
    }
    
    int lordid=_player->getLordid();
   
    
    
    SGPlayerDataModel *playerdata = SGStaticDataManager::shareStatic()->getPlayerByLevel(_player->getLevel());
    int embattlemax=playerdata->getPlayerOfficerMax();
    
    for(int i=0;i<10;++i)
    {
        SGButton*btn;
        if(i<=maxnum)
        {
            SGOfficerCard *card=NULL;
            SGOfficerDataModel* obj ;
            
            pvpInfo*info = NULL;
            if(type==0)  ///////跨服的
            {
                info = (pvpInfo*)_player->getePVPOfficerArray()->objectAtIndex(i);
                obj = SGStaticDataManager::shareStatic()->getOfficerById(info->getitmeId());
            }
            else   ///////本服的

            {
                card = (SGOfficerCard*)_player->getOfficerCardItemArray()->objectAtIndex(i);
                
                obj = SGStaticDataManager::shareStatic()->getOfficerById(card->getItemId());
            }
            
            int starlvl  =obj->getOfficerCurrStarLevel();
            if(starlvl==1||starlvl==2)
            {
                starlvl=1;
            }
            else
            {
                starlvl=starlvl-1;
            }
            /////////////////////////
        
            CCString*headicon=CCString::createWithFormat("head%d.png",obj->getIconId());
            CCString*kuang=CCString::createWithFormat("officerPinzhi_%d_0.png",starlvl);
        
            CCString*country= CCString::createWithFormat("countryName%d.png",obj->getOfficerRace());
            SGMainManager::shareMain()->addHeadIconPlistByNum(obj->getIconId(),sg_rank);
            btn=SGButton::create(headicon->getCString(),
                                          kuang->getCString(),
                                          this,
                                          menu_selector(SGRankDetailLayer::showgeneralinfo),
                                          ccp(0, 0),
                                          false,
                                          true);
            
            CCSprite*coun=CCSprite::createWithSpriteFrameName(country->getCString());
            coun->setPosition(ccp(12, btn->getContentSize().height*0.85));
            btn->addChild(coun);
            addBtn(btn);
            
            
            
            
            /////////////////武将等级
            
            
            if(type==0)  ///////跨服的
            {
                //MMDEBUG:: IMPROVE 貌似需要显示武将等级,但是card解析不出来武将,暂时用pvpinfo代替。
                SGCCLabelTTF* levellabel =  SGCCLabelTTF::create(CCString::createWithFormat("Lv%d", info->getlevel())->getCString(),FONT_PANGWA,FONTSIZE(12));
                levellabel->setPosition(ccp(btn->getContentSize().width*0.5, levellabel->getContentSize().height*0.5));
                btn->addChild(levellabel);
            }
            
            else   ///////本服的
                
            {
                SGCCLabelTTF* levellabel =  SGCCLabelTTF::create(CCString::createWithFormat("Lv%d", card->getCurrLevel())->getCString(),FONT_PANGWA,FONTSIZE(12));
                levellabel->setPosition(ccp(btn->getContentSize().width*0.5, levellabel->getContentSize().height*0.5));
                btn->addChild(levellabel);
                
                ///////////////转生次数
                if(card->getAdNum()>0)
                {
                    SGCCLabelTTF *advancenumber = SGCCLabelTTF::create(CCString::createWithFormat("+%d",card->getAdNum())->getCString(), FONT_PANGWA, 24);
                    advancenumber->setInsideColor(ccGREEN);
                    advancenumber->setAnchorPoint(ccp(1, 1));
                    advancenumber->setPosition(ccp(btn->getContentSize().width, btn->getContentSize().height));
                    btn->addChild(advancenumber);
                }
                
                 ////////////////////////////////////////////
                if(lordid==card->getSsid())/////主将图片组合体
                {
                    CCSprite *lord = CCSprite::createWithSpriteFrameName("font_zj_bg.png");
                    lord->setPosition(ccp(btn->getContentSize().width*0.5, lord->getContentSize().height*0.5));
                    btn->addChild(lord);
                    
                    CCSprite *font = CCSprite::createWithSpriteFrameName("font_zj.png");
                    font->setPosition(ccp(btn->getContentSize().width*0.5, font->getContentSize().height*0.5));
                    btn->addChild(font);
                    
                }
            }
        
        }
        
        else if(i<embattlemax)
        {
        
            btn=SGButton::create("embattle_huilan.png", "embattle_font_kong.png", this,
                                 NULL,
                                 ccp(0, 0),
                                 false,
                                 true);
            btn->setEnabled(false);
            addBtn(btn);
        
        }
 
    
    
        else
        {
            CCString *num = CCString::createWithFormat("embattle_num%d.png",i+1);
            btn=SGButton::create("embattle_lan.png", num->getCString(), this,
                                 NULL,
                                 ccp(0, 0),
                                 false,
                                 true);
            
            
            CCSprite *suo = CCSprite::createWithSpriteFrameName(CCString::create("embattle_suo.png")->getCString());
            suo->setAnchorPoint(ccp(1, 1));
            suo->setPosition(ccp(btn->getContentSize().width, btn->getContentSize().height));
            btn->addChild(suo);
            addBtn(btn);
        }
    
    
    
        btn->setPosition(ccpAdd(ccp(0, SGLayout::getPoint(kMiddleCenter).y-215),(ccp(wid/2 + (i%5) *115,-(i/5)*115 + 187))));
        btn->setTag(i);
        
    }
    
     /////////////////////////////////////////////////////////////////////////////////////////////////////士兵   tag为10系列

    int redId=_player->getRedSoldierId();
    int greenId=_player->getGreenSoldierId();
    int blueId=_player->getBlueSoldierId();
    int soldier[]={redId,greenId,blueId};
    int color[]={3,1,2};
    
    if(type==0)
    {
    
    }
    //else if (0)//此处只能看武将,不允许看小兵。
    else
    {
        for (int i = 0; i< 3; i++)
       {
           CCSprite*jingkuang=CCSprite::createWithSpriteFrameName("equipPinzhi_1_0.png");

           CCString*icon=CCString::createWithFormat("%d-%d.png",soldier[i],color[i]);
           CCString*kuang=CCString::create("equipPinzhi_1_0.png");
           SGButton*soldierbtn=SGButton::create(icon->getCString(), kuang->getCString(), this, menu_selector(SGRankDetailLayer::showSoldierinfo),CCPointZero,false,true);
           
           soldierbtn->setPosition(ccp(s.width/2 +15 +(i-1)*(jingkuang->getContentSize().width + 60) ,center.y-70));
           soldierbtn->setTag(10+i);
          // soldierbtn->setZOrder(soldier[i]);
           addBtn(soldierbtn);

           
           ////////////士兵等级
           SGSoldierCard*card=(SGSoldierCard*)soldierarray->objectAtIndex(i);
           SGCCLabelTTF* levellabel =  SGCCLabelTTF::create(CCString::createWithFormat("Lv%d", card->getCurrLevel())->getCString(),FONT_PANGWA,FONTSIZE(12));
           levellabel->setAnchorPoint(ccp(0.5, 0.5));
           levellabel->setPosition(ccp(soldierbtn->getContentSize().width*0.5, levellabel->getContentSize().height*0.35));
           soldierbtn->addChild(levellabel);
           
           SGSoldierDataModel*  soldierData = SGStaticDataManager::shareStatic()->getSoliderById(soldier[i]);
           if (soldierData)
           {
               SGCCLabelTTF * soldierName = SGCCLabelTTF::create(soldierData->getSoldierName()->getCString(), FONT_PANGWA,FONTSIZE(12));
               soldierName->setPosition(ccp(soldierbtn->getContentSize().width/2, -soldierbtn->getContentSize().height*0.3));
               soldierbtn->addChild(soldierName);
           }
       }
    }
   

    ///////////////////////////////////////////////////////////////////////////////////////////////////属性    tag为20系列
    
    ////统御力
   if(type==0)
   {
   }
    
   else
   {
       SGCCLabelTTF* tongyuli =  SGCCLabelTTF::create(CCString::createWithFormat(str_MainTaskLayer_str10, _player->getGoverning(),_player->getGoverningLimit() )->getCString(),FONT_BOXINFO,FONTSIZE(14));
       
       tongyuli->setAnchorPoint(ccp(0, 0.5));
       tongyuli->setPosition(ccpAdd(portrait_bg->getPosition(), ccp(-portrait_bg->getContentSize().width*0.0,-portrait_bg->getContentSize().height*1.8)));
       //  shengwang->setColor(ccBLACK);
       this->addChild(tongyuli);
       tongyuli->setTag(21);
       ///总血量
       
       SGCCLabelTTF* blood =  SGCCLabelTTF::create(CCString::createWithFormat(str_MainTaskLayer_str11,  _player->getHp())->getCString(),FONT_BOXINFO,FONTSIZE(14));
       
       blood->setAnchorPoint(ccp(0, 0.5));
       blood->setPosition(ccpAdd(tongyuli->getPosition(), ccp(0,-tongyuli->getContentSize().height*1.5 )));
       // zhanji->setColor(ccBLACK);
       this->addChild(blood);
       blood->setTag(22);
       
       
       ///总速度
       SGCCLabelTTF* speed =  SGCCLabelTTF::create(CCString::createWithFormat(str_MainTaskLayer_str12,  _player->getSpeed())->getCString(),FONT_BOXINFO,FONTSIZE(14));
       
       speed->setAnchorPoint(ccp(0, 0.5));
       speed->setPosition(ccpAdd(blood->getPosition(), ccp(0,-blood->getContentSize().height*1.5)));
       //  sheng->setColor(ccBLACK);
       this->addChild(speed);
       speed->setTag(23);
       
       ///国家
       countrymm=_player->getCountry();
       
       
       
       
       CCString*string;
       if (_player->getCountry() == 1) {
           
           string=CCString::create(str_MainTaskLayer_str13);
           
       }
       if (_player->getCountry() == 2) {
           string=CCString::create(str_MainTaskLayer_str14);
           
       }
       if (_player->getCountry() == 3) {
           string=CCString::create(str_MainTaskLayer_str15);
       }
       
       
       
       
       SGCCLabelTTF* country =  SGCCLabelTTF::create(string->getCString(),FONT_BOXINFO,FONTSIZE(14));
       
       country->setAnchorPoint(ccp(0, 0.5));
       country->setPosition(ccpAdd(speed->getPosition(), ccp(0,-speed->getContentSize().height*1.5 )));
       //  rank->setColor(ccBLACK);
       this->addChild(country);
       country->setTag(24);
       
       //2014-10-29 zyc modify. 禁用该功能。
//       SGButton *counbtn = SGButton::createFromLocal("ofc_moreinfo.png", NULL, this, menu_selector(SGRankDetailLayer::showcountryinfo),CCPointZero,FONT_PANGWA,ccWHITE,25);
//       counbtn->setVisible(false);
//       counbtn->setAnchorPoint(ccp(0, 0.5));
//       counbtn->setPosition(ccpAdd(country->getPosition(), ccp(country->getContentSize().width+20, 0)));
//       addBtn(counbtn);
//       counbtn->setTag(25);
       
   }
    
    
  ////////////////////////////////////////////////////////////////////////////////////////////其他   tag为30系列
    
   ////天梯声望
    if(type==0)
    {
    
    
    }
    
    
    else
    {
        SGCCLabelTTF* shengwang =  SGCCLabelTTF::create(CCString::createWithFormat(str_MainTaskLayer_str16,_player->getpresTige())->getCString(),FONT_BOXINFO,FONTSIZE(14));
        
        shengwang->setAnchorPoint(ccp(0, 0.5));
        shengwang->setPosition(ccpAdd(portrait_bg->getPosition(), ccp(-portrait_bg->getContentSize().width*0.0,-portrait_bg->getContentSize().height*1.8)));
        //  shengwang->setColor(ccBLACK);
        this->addChild(shengwang);
        shengwang->setTag(31);
        ///天梯战绩

        SGCCLabelTTF* zhanji =  SGCCLabelTTF::create(CCString::createWithFormat(str_MainTaskLayer_str17, _player->getpvpWinCount(),_player->getenterPVPCount()-_player->getpvpWinCount())->getCString(),FONT_BOXINFO,FONTSIZE(14));
        
        zhanji->setAnchorPoint(ccp(0, 0.5));
        zhanji->setPosition(ccpAdd(shengwang->getPosition(), ccp(0,-shengwang->getContentSize().height*1.5 )));
       // zhanji->setColor(ccBLACK);
        this->addChild(zhanji);
        zhanji->setTag(32);
        
        
       ///天梯胜率
        
        CCString*str;
       if(_player->getpvpWinCount()==0)
            str= CCString::create(str_MainTaskLayer_str20);
        else
            str= CCString::createWithFormat(str_MainTaskLayer_str21,100*_player->getpvpWinCount()/(float)_player->getenterPVPCount());
        
        
            
        SGCCLabelTTF* sheng =  SGCCLabelTTF::create(str->getCString(),FONT_BOXINFO,FONTSIZE(14));
        
        sheng->setAnchorPoint(ccp(0, 0.5));
        sheng->setPosition(ccpAdd(zhanji->getPosition(), ccp(0,-zhanji->getContentSize().height*1.5)));
        //  sheng->setColor(ccBLACK);
        this->addChild(sheng);
        sheng->setTag(33);
        
        ///天梯排名
        SGPlayerInfo* playInfo = SGPlayerInfo::sharePlayerInfo();
        
        
        
        CCString*f**k;
     //   CCLOG("%d",_player->getpvpTop());
        if(_player->getpvpTop()<=0)
        {
            
            f**k=CCString::create(str_MainTaskLayer_str18);
        }
        else
        {
        
            f**k=CCString::createWithFormat(str_MainTaskLayer_str19,  _player->getpvpTop());
        }
        
       SGCCLabelTTF* rank =  SGCCLabelTTF::create(f**k->getCString(),FONT_BOXINFO,FONTSIZE(14));
        
        rank->setAnchorPoint(ccp(0, 0.5));
        rank->setPosition(ccpAdd(sheng->getPosition(), ccp(0,-sheng->getContentSize().height*1.5 )));
      //  rank->setColor(ccBLACK);
        this->addChild(rank);
        rank->setTag(34);
    
    }

    
    
    if(type==0)
    {
    }
    else
    {
        setCanSee(0);
        setCanNotSee(1);
        setCanNotSee(2);
        setCanNotSee(3);
    }


    
}
Example #30
0
void ThirdServerScene::initServerInfo(SeverInfoBean* bean) {
    this->removeChildByTag(serverInfoLayerTag,true);
    selectBean = bean;
    CCLayer* serverInfoLayer = CCLayer::create();
    serverInfoLayer->setTag(serverInfoLayerTag);
    serverInfoLayer->setPosition(ccp(0,0));
    
    this->cacheServerId = bean->serverId;
    char str[30] = {0};
    
    sprintf(str,"s%d_ititaId",bean->serverId);
    std::string ititaId = CCUserDefault::sharedUserDefault()->getStringForKey(str,"");
    bool ititaIdFlag = false;
    if (ititaId.compare("") != 0 && ititaId.compare(PulsarNative::getDeviceId()) != 0) {
        ititaIdFlag = true;
    }
    
    MyMenuItem* leftButton = MyMenuItem::create(CCSprite::createWithSpriteFrameName("serverButton.png"),NULL,NULL);
    leftButton->setAnchorPoint(ccp(1,0.5));
    //    leftButton->setPosition(ccp(winSize.width+100,240));
    leftButton->setPosition(ccp(winSize.width+422,240));
    leftButton->runAction(CCSequence::create(CCDelayTime::create(0.1),CCEaseElasticOut::create(CCMoveTo::create(0.3,ccp(winSize.width+100,240)),1),NULL));
    
    CCSprite* registLabel;
    if (ititaIdFlag) {
        registLabel = CCSprite::createWithSpriteFrameName("serverSwitchLabel.png");
        leftButton->setTarget(this,menu_selector(ThirdServerScene::toLogin));
    } else {
        registLabel = CCSprite::createWithSpriteFrameName("serverBindLabel.png");
        leftButton->setTarget(this,menu_selector(ThirdServerScene::toRegister));
    }
    registLabel->setAnchorPoint(ccp(0,0.5));
    registLabel->setPosition(ccp(30,leftButton->getContentSize().height/2));
    leftButton->addChild(registLabel);
    
    
    
    MyMenuItem* rightButton = MyMenuItem::create(CCSprite::createWithSpriteFrameName("serverButton.png"),this,menu_selector(ThirdServerScene::fastEnterGameWait));
    rightButton->setAnchorPoint(ccp(1,0.5));
    //    rightButton->setPosition(ccp(winSize.width+20,330));
    rightButton->setPosition(ccp(winSize.width+342,330));
    rightButton->runAction(CCSequence::create(CCEaseElasticOut::create(CCMoveTo::create(0.3,ccp(winSize.width+20,330)),1),NULL));
    
    CCSprite* newLabel;
    if (ititaIdFlag) {
        newLabel = CCSprite::createWithSpriteFrameName("serverEnterGame.png");
    } else {
        newLabel = CCSprite::createWithSpriteFrameName("serverFastStartLabel.png");
    }
    newLabel->setAnchorPoint(ccp(0,0.5));
    newLabel->setPosition(ccp(30,rightButton->getContentSize().height/2));
    rightButton->addChild(newLabel);
    
    MyPriorityMenu* menu = MyPriorityMenu::create(-501,leftButton,rightButton,NULL);
    menu->setPosition(ccp(0,0));
    serverInfoLayer->addChild(menu);
    
//    sprintf(str,"s%d_nickname",bean->serverId);
//    std::string nickname = CCUserDefault::sharedUserDefault()->getStringForKey(str,"");
//    
//    if (nickname.compare("") != 0) {
//        CCLabelTTF* id = CCLabelTTF::create("ID:","Arial",40);
//        id->setColor(ccc3(255,222,0));
//        
//        CCLabelTTF* nicknameLabel = CCLabelTTF::create(nickname.c_str(),"Arial",40);
//        float locx = id->getContentSize().width+nicknameLabel->getContentSize().width;
//        id->setAnchorPoint(ccp(0,0.5));
//        id->setPosition(ccp(winSize.width-locx/2-180,400));
//        nicknameLabel->setAnchorPoint(ccp(0,0.5));
//        nicknameLabel->setPosition(ccp(winSize.width-locx/2+id->getContentSize().width-190,400));
//        serverInfoLayer->addChild(id);
//        serverInfoLayer->addChild(nicknameLabel);
//    }
    
    CCLayer* layer = CCLayer::create();
    
    CCLabelTTF* label = CCLabelTTF::create(bean->getServerName()->getCString(),"Arial",33);
    label->setPosition(ccp(224,2));
    layer->addChild(label);
    label->setTag(serverNameLabelTag);
    
    CCLabelTTF* stateLabel =CCLabelTTF::create(bean->getServerStatus()->getCString(),"Arial",30);
    stateLabel->setPosition(ccp(340,0));
    if (bean->getServerStatus()->compare("正常") == 0 || bean->getServerStatus()->compare("推荐") == 0) {
        stateLabel->setColor(ccc3(0,255,0));
    } else if (bean->getServerStatus()->compare("繁忙") == 0) {
        stateLabel->setColor(ccc3(255,255,0));
    } else if (bean->getServerStatus()->compare("火爆") == 0) {
        stateLabel->setColor(ccc3(167,87,168));
    } else {
        stateLabel->setColor(ccc3(166,166,166));
    }
    
    
    layer->addChild(stateLabel);
    
    CCSprite* serverBack = CCSprite::createWithSpriteFrameName("serverCurentServerBack.png");
    //    serverBack->setPosition(ccp(winSize.width+35,48));
    serverBack->setPosition(ccp(winSize.width+357,48));
    serverBack->runAction(CCSequence::create(CCDelayTime::create(0.3),CCEaseElasticOut::create(CCMoveTo::create(0.3,ccp(winSize.width+35,48)),1),NULL));
    serverBack->setAnchorPoint(ccp(1,0.5));
    serverInfoLayer->addChild(serverBack);
    
    //    layer->setPosition(ccp(winSize.width-380,45));
    layer->setPosition(ccp(winSize.width-58,45));
    layer->runAction(CCSequence::create(CCDelayTime::create(0.3),CCEaseElasticOut::create(CCMoveTo::create(0.3,ccp(winSize.width-380,45)),1),NULL));
    serverInfoLayer->addChild(layer);
    
    MyMenuItem* selectServerButton = MyMenuItem::create(CCSprite::createWithSpriteFrameName("serverButton.png"),this,menu_selector(ThirdServerScene::toServerList));
    
    CCSprite* selectServerLabel = CCSprite::createWithSpriteFrameName("serverSelectButton.png");
    selectServerLabel->setAnchorPoint(ccp(0,0.5));
    selectServerLabel->setPosition(ccp(30,rightButton->getContentSize().height/2));
    
    
    selectServerButton->setAnchorPoint(ccp(1,0.5));
    //    selectServerButton->setPosition(winSize.width+130,150);
    selectServerButton->setPosition(ccp(winSize.width+452,150));
    selectServerButton->runAction(CCSequence::create(CCDelayTime::create(0.2),CCEaseElasticOut::create(CCMoveTo::create(0.3,ccp(winSize.width+130,150)),1),NULL));
    selectServerButton->addChild(selectServerLabel);
    menu->addChild(selectServerButton);
    
    this->addChild(serverInfoLayer,2);
}