Esempio n. 1
0
void HTouchEnabledLayerColor::setPriority(CCNode *node, int priority) {
    if (dynamic_cast<CCControl *>(node)) {
        CCControl *control = (CCControl *)node;
        control->setTouchPriority(priority);
        if (control->isTouchEnabled()) {
            control->setTouchEnabled(false);
            control->setTouchEnabled(true);
        }
    } else if (dynamic_cast<CCScrollView *>(node)) {
        CCScrollView *scrollView = (CCScrollView *)node;
        scrollView->setTouchPriority(priority);
        if (scrollView->isTouchEnabled()) {
            scrollView->setTouchEnabled(false);
            scrollView->setTouchEnabled(true);
        }
    } else if (dynamic_cast<CCMenu *>(node)) {
        CCMenu *menu = (CCMenu *)node;
        menu->setTouchPriority(priority);
        if (menu->isTouchEnabled()) {
            menu->setTouchEnabled(false);
            menu->setTouchEnabled(true);
        }
    } else if (dynamic_cast<CCLayer *>(node)) {
        CCLayer *layer = (CCLayer *)node;
        layer->setTouchPriority(priority);
        if (layer->isTouchEnabled()) {
            layer->setTouchEnabled(false);
            layer->setTouchEnabled(true);
        }
    }
}
//测试图片滚动
void HelloWorld::test1()
{
	CCSize visableSize = CCSizeMake(480, 320); //屏幕大小
	CCSize mysize = CCSizeMake(960,600); //容器大小

	
//创建容器、设置大小
	CCLayerColor* scrollLayer = CCLayerColor::create( ccc4(255,255,255,255) );
	scrollLayer->setContentSize(mysize);
	
//容器中的东西
	CCSprite* bg = CCSprite::create("war.png");
	bg->setPosition( ccp(960/2.0, 600/2.0) );
	scrollLayer->addChild(bg);


//创建滚动视图CCScrollView
	CCScrollView* scrollView = CCScrollView::create();
	this->addChild(scrollView, 0, 1);
	
	//属性设置
	scrollView->setContainer(scrollLayer); //设置容器
	scrollView->setViewSize( visableSize ); //可视区域大小
	scrollView->setBounceable(true); //是否具有弹性
	
	//委托代理
	scrollView->setDelegate(this);
}
//测试只能纵向滚动
void HelloWorld::test2()
{
	CCSize visableSize = CCSizeMake(480, 320); //屏幕大小
	CCSize mysize = CCSizeMake(150,220); //容器大小

//创建容器、设置大小
	CCLayerColor* scrollLayer = CCLayerColor::create( ccc4(255,255,255,255) );
	scrollLayer->setContentSize(mysize);

//容器中添加四个按钮
	for(int i = 1; i <= 4; i++) 
	{
		char file[20];
		sprintf(file, "btn%d.png", i);
		CCSprite* btn = CCSprite::create(file);
		btn->setPosition( ccp(mysize.width/2, 220 - 50*i) );
		scrollLayer->addChild(btn);
	}

//创建滚动视图CCScrollView
	//可视区域大小150*100 、 容器为scrollLayer
	CCScrollView* scrollView = CCScrollView::create(CCSizeMake(150, 100), scrollLayer);
	scrollView->setPosition( visableSize/2 - ccp(150/2.0, 100/2.0) );
	this->addChild(scrollView, 0, 2);
	
	//设置为只能纵向滚动
	scrollView->setDirection(kCCScrollViewDirectionVertical);

	//委托代理
	scrollView->setDelegate(this);

}
Esempio n. 4
0
bool GuideScene::init()
{
    if (!CCLayer::init()) {
        return false;
    }
    CCLOG("/**~~~~~~~~~~~~~~~~GuideScene:init()~~~~~~~~~~~~~~~~~");
    //取出主屏幕的尺寸,以及初始化数据
    size = CCDirector::sharedDirector()->getVisibleSize();
//    CCSprite* whiteBg = CCSprite::create("ZF_Shoot_whiteBg.png",CCRectMake(0,0,size.width,size.height));
//    whiteBg->setPosition(ccp(size.width*0.5,size.height*0.5));
//    whiteBg->setContentSize(size);
//    this->addChild(whiteBg,0);
    
    CCSprite* helpBg = CCSprite::create("ZF_Shoot_help.png");
    helpBg->setAnchorPoint(ccp(0.5,0.5));
    helpBg->setPosition(ccp(size.width*0.5,size.height*0.5));
    this->addChild(helpBg,0);
    
    //1.create a container
    CCLayer* container = CCLayer::create();
    CCSprite* guide = CCSprite::create("ZF_Shoot_guide.png");
    guide->setAnchorPoint(ccp(0.5,1));
    guide->setPosition(ccp(size.width*0.5,size.height));
    container->addChild(guide,1);
    container->setContentSize(size);
    
    
    //2.create a scrollView
    CCScrollView* scrollView = CCScrollView::create(CCSizeMake(size.width*0.5, size.height*3));
    addChild(scrollView);
    scrollView->setAnchorPoint(ccp(0.5,0.5));
    scrollView->setPosition(ccp(10,size.height*0.23));
    
    //3.setOption
    scrollView->setBounceable(true);
    scrollView->setViewSize(CCSizeMake(size.width, size.height*0.55));
    scrollView->setContainer(container);
    scrollView->setDirection(kCCScrollViewDirectionVertical);
    scrollView->setTouchEnabled(true);
    scrollView->setDelegate(this);
    scrollView->unscheduleAllSelectors();
    
    
    //4.closeMenu
    CCMenuItemImage *pCloseItem = CCMenuItemImage::create(
                                                          "ZF_Shoot_button_coinList_back2.png",
                                                          "ZF_Shoot_button_coinList_back1.png",
                                                          this,
                                                          menu_selector(GuideScene::menuCloseCallBack) );
    pCloseItem->setPosition( CCPointMake(size.width*0.5-235 , size.height*0.92) );
    pCloseItem->setTag(5);
    CCMenu* pMenu = CCMenu::create(pCloseItem, NULL);
    pMenu->setPosition( CCPointZero );
    addChild(pMenu);
    
    
    return true;
}
//------------------------------------------------------------------
//
// ScrollBar2
//
//------------------------------------------------------------------
void CommonScrollBar2::onEnter()
{
    CommonDemo::onEnter();
	
    CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize();
	CCPoint origin = CCDirector::sharedDirector()->getVisibleOrigin();
	
	CCSize size = CCSizeMake(visibleSize.width * 4 / 5, visibleSize.height * 3 / 5);
	CCScrollView* scroll = CCScrollView::create(size);
    scroll->ignoreAnchorPointForPosition(false);
    scroll->setAnchorPoint(ccp(0.5f, 0.5f));
    scroll->setPosition(ccp(origin.x + visibleSize.width / 2,
							origin.y + visibleSize.height / 2));
    scroll->setDirection(kCCScrollViewDirectionVertical);
    addChild(scroll);
	
	CCLayer* content = createScrollContent(size);
    scroll->addChild(content);
    scroll->setContentSize(content->getContentSize());
    scroll->setContentOffset(scroll->minContainerOffset());
    
    // vertical bar
	CCScale9Sprite* track = CCScale9Sprite::create("Images/track.png");
	CCSprite* thumb = CCSprite::create("Images/thumb.png");
	CCScrollBar* vsb = CCScrollBar::create(track, thumb);
	vsb->setAutoFade(true);
	vsb->attachToCCScrollView(scroll, cci(5, 5, 5, 5));
}
Esempio n. 6
0
CCScrollView* CCScrollView::create()
{
    CCScrollView* pRet = new CCScrollView();
    if (pRet && pRet->init())
    {
        CC_SAFE_AUTORELEASE(pRet);
    }
    else
    {
        CC_SAFE_DELETE(pRet);
    }
    return pRet;
}
Esempio n. 7
0
CCScrollView* CCScrollView::create(CCSize size, CCNode* container/* = NULL*/)
{
    CCScrollView* pRet = new CCScrollView();
    if (pRet && pRet->initWithViewSize(size, container))
    {
        pRet->autorelease();
    }
    else
    {
        CC_SAFE_DELETE(pRet);
    }
    return pRet;
}
Esempio n. 8
0
CCScrollView* CCScrollView::create()
{
    CCScrollView* pRet = new CCScrollView();
    if (pRet && pRet->init())
    {
        pRet->autorelease();
    }
    else
    {
        CC_SAFE_DELETE(pRet);
    }
    return pRet;
}
CCRect VirtualizingPanel::getViewportRect()
{
    CCPoint origin = this->convertToNodeSpace(CCPointZero);
    CCSize size = CCDirector::sharedDirector()->getWinSize();
    
    CCScrollView* scroll = dynamic_cast<CCScrollView*>(this->getParent());
    if (scroll != NULL)
    {
        origin = scroll->getContentOffset() * -1;
        size = scroll->getViewSize();
    }
    
    return CCRect(origin.x, origin.y, size.width, size.height);
}
Esempio n. 10
0
bool T27ActionMore::init()
{
	BaseLayer::init();
	CCSize winSize = CCDirector::sharedDirector()->getWinSize();
	
	CCNode* c = CCNode::create();
	_c = c;
	int actionCount = sizeof(_actionName) / sizeof(*_actionName);
	
	for (int i = 0; i < actionCount; i++)
	{
		/*
		CCSprite* bg = CCSprite::create("HelloWorld.png");
		c->addChild(bg);
		bg->setPosition(ccp(winSize.width / 2 + i*winSize.width, winSize.height / 2));
		*/
		CCLayerColor* layer;
		if (i % 2 == 0)
		{
			layer = CCLayerColor::create(ccc4(192, 192, 192, 255), winSize.width, winSize.height);
		}
		else
		{
			layer = CCLayerColor::create(ccc4(128, 128, 128, 255), winSize.width, winSize.height);
		}
		c->addChild(layer);
		layer->setPosition(ccp(i*winSize.width, 0));

		/* 设置Title */
		const char* title = _actionName[i];
		CCLabelTTF* label = CCLabelTTF::create(title, "Arial", 36);
		layer->addChild(label);
		label->setPosition(ccp(winSize.width / 2, winSize.height - 80));
	}

	CCScrollView* view = CCScrollView::create(winSize, c);
	view->setDirection(kCCScrollViewDirectionHorizontal);
	view->setContentSize(CCSize(winSize.width*actionCount, winSize.height));
	addChild(view);

	c->setPositionX((1 - actionCount)*winSize.width);

	// 能触摸
	setTouchEnabled(true);
	setTouchMode(kCCTouchesOneByOne);

	return true;
}
//测试背包翻页
void HelloWorld::test3()
{
	CCSize visableSize = CCSizeMake(480, 320); //屏幕大小
	CCSize mysize = CCSizeMake(300,80); //容器大小

//创建容器、设置大小
	CCLayerColor* scrollLayer = CCLayerColor::create( ccc4(255,255,255,255) );
	scrollLayer->setContentSize(mysize);

//容器中添加三个图片
	for(int i = 1; i <= 3; i++) 
	{
		char file[20];
		sprintf(file, "sp%d.png", i);
		CCSprite* sp = CCSprite::create(file);
		sp->setPosition( ccp(100*i - 50, 40) );
		scrollLayer->addChild(sp);
	}

//创建滚动视图CCScrollView
	//可视区域大小100*80 、 容器为scrollLayer
	CCScrollView* scrollView = CCScrollView::create(CCSizeMake(100, 80), scrollLayer);
	scrollView->setPosition( visableSize/2 - ccp(100/2.0, 0) );
	this->addChild(scrollView, 0, 3);

	//属性设置
	scrollView->setTouchEnabled(false); //关闭触碰事件,无法触摸滚动

	//委托代理
	scrollView->setDelegate(this);


//创建背包翻页按钮
	//前翻pBack、后翻pFront
	pBack = CCMenuItemImage::create("b1.png", "b2.png", "b3.png", this, menu_selector(HelloWorld::scrollImage) );
	pFront = CCMenuItemImage::create("f1.png", "f2.png", "f3.png", this, menu_selector(HelloWorld::scrollImage) );
	pBack->setPosition( ccp(visableSize.width/2 - 100, 60) );
	pFront->setPosition( ccp(visableSize.width/2 + 100, 60) );
	CCMenu* pMenu = CCMenu::create(pBack, pFront, NULL);
	pMenu->setPosition(CCPointZero);
	this->addChild(pMenu, 0, 100);

	pBack->setEnabled(false);
	pageNumber = 0; //第0页

}
//实现翻页效果
void HelloWorld::scrollImage(CCObject* sender)
{
	CCScrollView* scrollView = (CCScrollView*)this->getChildByTag(3);

	if(sender == pBack && pBack->isEnabled() )
	{
		pageNumber = max(0, pageNumber-1); //前翻
	}
	else if( pFront->isEnabled() )
	{
		pageNumber = min(2, pageNumber+1); //后翻
	}

	//设置容器相对滚动视图的偏移量
	scrollView->setContentOffset(ccp(-100 * pageNumber, 0), true);

	pBack->setEnabled( pageNumber != 0);
	pFront->setEnabled( pageNumber != 2);
}
static int tolua_Cocos2dx_CCScrollView_registerScriptHandler(lua_State* tolua_S)
{
#ifndef TOLUA_RELEASE
    tolua_Error tolua_err;
    if (
        !tolua_isusertype(tolua_S,1,"CCScrollView",0,&tolua_err) ||
        !toluafix_isfunction(tolua_S,2,"LUA_FUNCTION",0,&tolua_err) ||
        !tolua_isnumber(tolua_S, 3, 0, &tolua_err)               ||
        !tolua_isnoobj(tolua_S,4,&tolua_err)
        )
        goto tolua_lerror;
    else
#endif
    {
        CCScrollView* self = (CCScrollView*)  tolua_tousertype(tolua_S,1,0);
#ifndef TOLUA_RELEASE
        if (!self) tolua_error(tolua_S,"invalid 'self' in function 'registerScriptHandler'", NULL);
#endif
        if (NULL == self->getDelegate())
        {
            LuaScrollViewDelegate* delegate = new LuaScrollViewDelegate();
            if (NULL == delegate)
                return 0;
            
            self->setUserObject(delegate);
            self->setDelegate(delegate);
            
            delegate->release();
        }
        
        LUA_FUNCTION nFunID = (  toluafix_ref_function(tolua_S,2,0));
        int scriptHandlerType = ((int)  tolua_tonumber(tolua_S,3,0));
        self->registerScriptHandler(nFunID,scriptHandlerType);
    }
    return 0;
#ifndef TOLUA_RELEASE
tolua_lerror:
    tolua_error(tolua_S,"#ferror in function 'registerScriptHandler'.",&tolua_err);
    return 0;
#endif
}
Esempio n. 14
0
void THIS::setBarRefreshV()
{
	CCScrollView* sv = scrollView;
	CCSize viewSize = sv->getViewSize();
	float total = sv->getContainer()->getContentSize().height - viewSize.height;
	float scrollBarSize = viewSize.height * viewSize.height / total;
	if(dynamicScrollSize)
		barV->setContentSize(CCSizeMake(barV->getContentSize().width, scrollBarSize));
	else
		barV->setContentSize(barV->getOriginalSize());
	CCSize barContentSize = barV->getContentSize();//, at);
	
	float offset = -sv->getContentOffset().y;
	float offsetX = -sv->getContentOffset().x;
	float percent = offset / total;
	percent = MIN(1, percent);
	percent = MAX(0, percent);
	percent = percent * (viewSize.height - barContentSize.height) / viewSize.height;
	float position = ((percent * viewSize.height) + barContentSize.height / 2.f);
	barV->setPosition(ccp(offsetX + viewSize.width, offset + position));
}
Esempio n. 15
0
void CCScrollViewCreator::setAttribute(CCNode* pNode, const char* strName, const char* strValue, bool bCache)
{
    CCScrollView* pScrollView = (CCScrollView*)pNode;
    if(bCache)
        mAttrMap[strName] = strValue;

    else
    {
        if(strcmp(strName, "offset") == 0)
            pScrollView->setContentOffset(ccXmlAttrParse::toPoint(strValue));

        else if(strcmp(strName, "direction") == 0)
            pScrollView->setDirection((CCScrollViewDirection)ccXmlAttrParse::toInt(strValue));

        else if(strcmp(strName, "view_size") == 0)
            pScrollView->setViewSize(ccXmlAttrParse::toSize(strValue));

        else if(strcmp(strName, "touch") == 0)
            pScrollView->setTouchEnabled(ccXmlAttrParse::toBool(strValue));

        else if(strcmp(strName, "bounceable") == 0)
            pScrollView->setBounceable(ccXmlAttrParse::toBool(strValue));
        else
            CCLayerCreator::setAttribute(pNode, strName, strValue, bCache);
    }
}
Esempio n. 16
0
void THIS::setBarRefreshH()
{
	CCScrollView* sv = scrollView;
	CCSize viewSize = sv->getViewSize();
	float total = sv->getContainer()->getContentSize().width - viewSize.width;
	float scrollBarSize = viewSize.width * viewSize.width / total;
	
	if(dynamicScrollSize)
		barH->setContentSize(CCSizeMake(scrollBarSize, barH->getContentSize().height));
	else
		barH->setContentSize(barH->getOriginalSize());
	CCSize barContentSize = barH->getContentSize();//, at);
	
	float offset = -sv->getContentOffset().x;
	float offsetY = -sv->getContentOffset().y;
	float percent = offset / total;
	percent = MIN(1, percent);
	percent = MAX(0, percent);
	percent = percent * (viewSize.width - barContentSize.width) / viewSize.width;
	float position = (percent * viewSize.width) + barContentSize.width / 2.f;
	barH->setPosition(ccp(offset + position, offsetY));
}
Esempio n. 17
0
//주기적으로 호출 되면서 내용을 갱신할 함수 -> scrollViewDidScroll에서 호출됨.
void THIS::setBarRefresh() {
	CCScrollView* sv = scrollView;
	if(sv->getDirection() == kCCScrollViewDirectionHorizontal)
	{
		setBarRefreshH();
	}
	else if(sv->getDirection() == kCCScrollViewDirectionVertical)
	{
		setBarRefreshV();
	}
	else if(sv->getDirection() == kCCScrollViewDirectionBoth)
	{
		setBarRefreshV();
		setBarRefreshH();
	}
	//	position = MIN(0.f, position);
	
	
	//	bar->setPosition(ccp(offset, 0));
	//	CCLog("%f / %f .. %f", offset, total, bar->getPosition().x);
	
	
}
Esempio n. 18
0
bool LayerMenu::init()
{
	CCLayer::init();

	//背景图片
	CCSprite* bg = CCSprite::create("bg.png");
	addChild(bg);
	bg->setPosition(ccp(winSize.width / 2, winSize.height / 2));

	//滚动选择
	CCNode* node = CCNode::create();
	for (int i = 0; i < 8; ++i)
	{
		CCSprite* sprite = CCSprite::create(Common::format(i + 1, "select", ".jpg"));
		node->addChild(sprite);
		sprite->setPosition(ccp(winSize.width / 2 + i*winSize.width, winSize.height / 2));
		sprite->setTag(1000 + i);
	}
	CCScrollView* view = CCScrollView::create(winSize, node);
	_view = view;

	addChild(view);
	view->setContentSize(CCSizeMake(8 * winSize.width, winSize.height));
	view->setDirection(kCCScrollViewDirectionHorizontal);

	//进入游戏的处理
	setTouchEnabled(true);
	setTouchMode(kCCTouchesOneByOne);
	//setTouchPriority(-1);

	//返回按钮
	CCMenuItemImage* item = CCMenuItemImage::create("backA.png", "backB.png", this, menu_selector(LayerMenu::Back));
	CCMenu* menu = CCMenu::createWithItem(item);
	addChild(menu);
	item->setPosition(ccp(winSize.width / 2 - item->getContentSize().width / 2, item->getContentSize().height / 2 - winSize.height / 2));
	return true;
}
Esempio n. 19
0
void GUIBase::resetPriority(CCNode* pNode, int priority)
{
	CCArray* pChildren = pNode->getChildren();

	CCObject* pObj = NULL;
	CCARRAY_FOREACH(pChildren, pObj)
	{
		CCNode* pChild = (CCNode*)pObj;
		if (pChild->getChildrenCount() > 0)
		{
			resetPriority(pChild, priority);
		}

		// CCMenu
		CCMenu* pMenu = dynamic_cast<CCMenu*>(pChild);
		if (pMenu)
		{
			pMenu->setTouchPriority(priority  - 1);
			continue;
		}

		// CCScrollView
		CCScrollView* pCCScrollView = dynamic_cast<CCScrollView*>(pChild);
		if (pCCScrollView)
		{
			pCCScrollView->setTouchPriority(priority  - 1);
			continue;
		}

		// CCControlButton
		CCControlButton* pCCControlButton = dynamic_cast<CCControlButton*>(pChild);
		if (pCCControlButton)
		{
			pCCControlButton->setTouchPriority(priority  - 1);
			continue;
		}
	}
Esempio n. 20
0
CCObject *HTouchEnabledLayerColor::updatePriorityEx(int command, CCNode *node) {
    int iBasePriority = getTouchPriority();
    
    if (dynamic_cast<CCControl *>(node)) {
        CCControl *control = (CCControl *)node;
        int priority = control->getTouchPriority();
        priority = iBasePriority - 9;
        control->setTouchPriority(priority);
        if (control->isTouchEnabled()) {
            control->setTouchEnabled(false);
            control->setTouchEnabled(true);
        }
    } else if (dynamic_cast<CCScrollView *>(node)) {
        CCScrollView *scrollView = (CCScrollView *)node;
        int priority = scrollView->getTouchPriority();
        priority = iBasePriority - 11;
        scrollView->setTouchPriority(priority);
        if (scrollView->isTouchEnabled()) {
            scrollView->setTouchEnabled(false);
            scrollView->setTouchEnabled(true);
        }
    } else if (dynamic_cast<CCMenu *>(node)) {
        CCMenu *menu = (CCMenu *)node;
        int priority = menu->getTouchPriority();
        priority = iBasePriority - 128;
        menu->setTouchPriority(priority);
        if (menu->isTouchEnabled()) {
            menu->setTouchEnabled(false);
            menu->setTouchEnabled(true);
        }
    } else if (dynamic_cast<CCLayer *>(node)) {
        CCLayer *layer = (CCLayer *)node;
        int priority = layer->getTouchPriority();
        priority = iBasePriority;
        layer->setTouchPriority(priority);
        if (layer->isTouchEnabled()) {
            layer->setTouchEnabled(false);
            layer->setTouchEnabled(true);
        }
    }

    CCArray *children = node->getChildren();
    if (children) {
        int count = children->count();
        for (int i = 0; i < count; ++i) {
            CCNode *child = (CCNode *)children->objectAtIndex(i);
            updatePriorityEx(command, child);
        }
    }
    
    return NULL;
}
Esempio n. 21
0
void RankScene::rankListDraw(int _tibaoType){

    tableIndex = 1;
    
    //1.主框体底板
    CCSprite* ranklistTable = CCSprite::createWithSpriteFrameName("ranklistTable.png");
    ranklistTable->setPosition(ccp(size.width/2, size.height/2+winDif*alpha*alpha));
    layerToRoll->addChild(ranklistTable,1);
    
    //2.两个模式的排行榜按钮
    CCSprite* RankListTitle = CCSprite::createWithSpriteFrameName("RankListTitle.png");
    RankListTitle->setPosition(ccp(size.width/2,size.height*1605/1700+winDif*alpha*alpha));
    layerToRoll->addChild(RankListTitle,4,9);
    
    //3.下面四个按钮
    CCSprite* backButtonSprite = CCSprite::createWithSpriteFrameName("back_rank.png");
    CCSprite* backButtonSprite_s = CCSprite::createWithSpriteFrameName("back-s_rank.png");
    CCSprite* inviteButtonSprite = CCSprite::createWithSpriteFrameName("invite_rank.png");
    CCSprite* inviteButtonSprite_s = CCSprite::createWithSpriteFrameName("invite-s_rank.png");
    CCSprite* shareButtonSprite = CCSprite::createWithSpriteFrameName("shareButton_rank.png");
    CCSprite* shareButtonSprite_s = CCSprite::createWithSpriteFrameName("shareButton-s_rank.png");
    CCSprite* ListListButtonSprite = CCSprite::createWithSpriteFrameName("ListListButton.png");
    CCSprite* ListListButtonSprite_s = CCSprite::createWithSpriteFrameName("ListListButton-s.png");
    CCMenuItemSprite* backButton = CCMenuItemSprite::create(backButtonSprite,backButtonSprite_s,this,menu_selector(RankScene::backToTibaoSelection));
    CCMenuItemSprite* inviteButton = CCMenuItemSprite::create(inviteButtonSprite,inviteButtonSprite_s,this,menu_selector(RankScene::inviteFriends));
    CCMenuItemSprite* shareButton = CCMenuItemSprite::create(shareButtonSprite,shareButtonSprite_s,this,menu_selector(RankScene::shareRank));
    CCMenuItemSprite* ListListButton = CCMenuItemSprite::create(ListListButtonSprite,ListListButtonSprite_s,this,menu_selector(RankScene::goToRankListList));
    backButton->setPosition(ccp(size.width*111/700,size.height*1017/2200+winDif*alpha*alpha));
    inviteButton->setPosition(ccp(size.width*272/700, size.height*1017/2200+winDif*alpha*alpha));
    shareButton->setPosition(ccp(size.width*430/700, size.height*1017/2200+winDif*alpha*alpha));
    ListListButton->setPosition(ccp(size.width*589/700, size.height*1017/2200+winDif*alpha*alpha));
    backButton->setTag(11);
    inviteButton->setTag(12);
    shareButton->setTag(13);
    ListListButton->setTag(14);
    bottomMenu = CCMenu::create(backButton,inviteButton,shareButton,ListListButton,NULL);
    bottomMenu->setPosition(CCPointZero);
    layerToRoll->addChild(bottomMenu,3,10);
    
    //4.上面的遮罩板
    CCSprite* rankListCover = CCSprite::createWithSpriteFrameName("rankListCover.png");
    rankListCover->setPosition(ccp(size.width*249/500,size.height*327/360+winDif*alpha*alpha));
    layerToRoll->addChild(rankListCover,3);
    
    //5.几天后结算
    daysLeftLabel = CCLabelTTF::create("0天 后结算本周排名", "Arial Rounded", 17);
    daysLeftLabel->setPosition(ccp(size.width/2, size.height*320/360+winDif*alpha*alpha));
    layerToRoll->addChild(daysLeftLabel,4,16);
    
    //6.题包名称
    CCLabelBMFont* rankName = CCLabelBMFont::create(tibaoName[_tibaoType].c_str(), "puzzlename_list2.fnt");
    rankName->setScale(0.417);
    rankName->setPosition(ccp(size.width/2, size.height*1710/1800+winDif*alpha*alpha));
    layerToRoll->addChild(rankName,5,15);
    
    //7.设置scrollview
    ContainerLayer = CCLayerColor::create(ccc4(0,0,0,0));
    ContainerLayer->setContentSize(CCSizeMake(size.width, size.height*2.14));
    ContainerLayer->setPosition(ccp(0,-size.height*1.675+winDif/130*alpha));

    //8. 1-21名的格子
    for(int i = 0 ; i < 20 ; i++){
        CCSprite* RankTable = CCSprite::createWithSpriteFrameName("other_rank.png");
        RankTable->setPosition(ccp(size.width/2, size.height*2230/1120-size.height*i*63/660+winDif/130*alpha));
        ContainerLayer->addChild(RankTable,1,20+i);
    }
    
    //9.初始化scrollview
    CCScrollView* pScrollView = CCScrollView::create(CCSizeMake(size.width, size.height*358/768));
    pScrollView->setPosition(ccp(0, size.height/2+winDif*alpha*alpha));
    layerToRoll->addChild(pScrollView,1,999);
    pScrollView->isDragging();
    pScrollView->isTouchMoved();
    pScrollView->setBounceable(true);
    pScrollView->setContainer(ContainerLayer);
    pScrollView->getViewSize();
    pScrollView->updateInset();
    pScrollView->setTouchEnabled(true);
    pScrollView->setDelegate(this);
    pScrollView->setDirection(kCCScrollViewDirectionVertical);
}
Esempio n. 22
0
void NewChapterOpen::initContent()
{
    CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("ui/fightUI/newChapter.plist");
    
    CCSprite *sp_bg = CCSprite::createWithSpriteFrameName("newChapter_bg.png");
    CCString *miniMapStr = CCString::createWithFormat("ui/chapter/miniMaps/mini_%d.png",sceneId);
    CCSprite *miniMap = CCSprite::create(miniMapStr->getCString());
    sp_bg->addChild(miniMap);
    miniMap->setPosition(getCenterPosition(sp_bg));
    
    CCSprite* sp_2 = CCSprite::createWithSpriteFrameName("newChapter_other.png");
    sp_bg->addChild(sp_2);
    sp_2->setPosition(ccp(sp_bg->getContentSize().width,sp_bg->getContentSize().height/2));

    CCLabelBMFont *label = CCLabelBMFont::create("恭喜开启新关卡", "font/font_ui.fnt");
    sp_bg->addChild(label);
    label->setPosition(ccp(sp_bg->getContentSize().width/2, sp_bg->getContentSize().height));
    
    CCScrollView* view = CCScrollView::create();
    view->setContainer(sp_bg);
    view->setTouchEnabled(false);
    view->setContentOffset(ccp(-425, 20));
    view->setViewSize(CCSizeMake(537, 370));
    view->setContentSize(view->getViewSize());
    view->setPosition(ccp(-view->getContentSize().width/2 + 40, -view->getContentSize().height/2));
    addChild(view);
    
    CCSprite *sp_1 = CCSprite::createWithSpriteFrameName("newChapter_other.png");
    addChild(sp_1);
    sp_1->setPosition(ccp(-225, 2));
    
    view->setContentOffsetInDuration(ccp(0, 20), 0.2);
}
Esempio n. 23
0
void CCScrollViewCreator::endNode(CCNode* pNode)
{
    CCScrollView* pScrollView =  (CCScrollView* )pNode;
    pScrollView->setDelegate(dynamic_cast<CCScrollViewDelegate*>(mRootDelegate));
    CCNodeCreator::setAttribute(pNode);
}
Esempio n. 24
0
// initialize your instance here
Store::Store()
{
	
    //SaveLoad::m_SaveData.currency = 300000;
    //SaveLoad::SaveGame();
    // enable touches
    setTouchEnabled( true );
    
    float scale = ScreenHelper::getTextureScale();
    float scaleX = ScreenHelper::getTextureScaleX();
    float scaleY = ScreenHelper::getTextureScaleY();
    
    CCTextureCache::sharedTextureCache()->addPVRImage("ctm_Buttons.pvr.ccz");
    CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("ctm_Buttons.plist");
    
    CCTextureCache::sharedTextureCache()->addPVRImage("ctm_Icons.pvr.ccz");
    CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("ctm_Icons.plist");
    
    CCSprite *sprite = CCSprite::create("MainBackFiller.png");
    sprite->setScaleX(scaleX*1.2f);
    sprite->setScaleY(scaleY*1.2f);
    sprite->setPosition(ScreenHelper::getAnchorPointPlusOffset(ScreenHelper::ANCHOR_CENTER,0.0f,-32.0f));
    addChild(sprite);
    
    sprite = CCSprite::create("ctm_UI_topOverlayA_ver1.png");
    sprite->setScaleX(scaleX);
    sprite->setScaleY(scaleY);
    sprite->setPosition(ScreenHelper::getAnchorPoint(ScreenHelper::ANCHOR_CENTER));
    addChild(sprite,2);
    
    CCLabelTTF *label = CCLabelTTF::create("STORE", "impact.ttf", 42*scale);
    addChild(label, 2);
    label->setColor(ccc3(0,0,0));
    label->setPosition(ScreenHelper::getAnchorPointPlusOffset(ScreenHelper::ANCHOR_TOP_CENTER,2.0f,-52.0f));
    
    label = CCLabelTTF::create("STORE", "impact.ttf", 42*scale);
    addChild(label, 2);
    label->setColor(ccc3(237,188,0));
    label->setPosition(ScreenHelper::getAnchorPointPlusOffset(ScreenHelper::ANCHOR_TOP_CENTER,0.0f,-50.0f));
    
    CCMenuItem *BackButton = CCMenuItemSprite::create(CCSprite::createWithSpriteFrameName("ctm_Back_Button.png"), CCSprite::createWithSpriteFrameName("ctm_Back_Button_Down.png"), this, menu_selector(Store::backButtonTapped));
    BackButton->setScale(scale);
    BackButton->setPosition(ScreenHelper::getAnchorPointPlusOffset(ScreenHelper::ANCHOR_TOP_LEFT,50.0f,-50.0f));
    ReturnButton = BackButton;
    
   
    CCSprite *spritePeanut = CCSprite::createWithSpriteFrameName("ctm_UI_Peanuts_Btn_ver1.png");
    CCSprite *spritePeanutDown = CCSprite::createWithSpriteFrameName("ctm_UI_Peanuts_Btn_Down.png");
    sprite = CCSprite::createWithSpriteFrameName("ctm_UI_PeanutsGlow_Btn_ver1.png");
    sprite->setPosition(ccp(136/2, 104/2));
    spritePeanut->addChild(sprite);
        
    CCMenuItem *PeanutsButton = CCMenuItemSprite::create(spritePeanut,spritePeanutDown,this,menu_selector(Store::peanutButtonTapped));
    
    PeanutsButton->setScale(scale);
    PeanutsButton->setPosition(ScreenHelper::getAnchorPointPlusOffset(ScreenHelper::ANCHOR_BOTTOM_LEFT,90.0f,130.0f));
    
    CCMenu* backmenu = CCMenu::create(BackButton, NULL);
    backmenu->setPosition(ScreenHelper::getAnchorPoint(ScreenHelper::ANCHOR_BOTTOM_LEFT));
    addChild(backmenu,4);
    
    m_slideControl = CCNode::create();
    addChild(m_slideControl);
    
    CCMenu* peanutmenu = CCMenu::create(PeanutsButton, NULL);
    peanutmenu->setPosition(ScreenHelper::getAnchorPoint(ScreenHelper::ANCHOR_BOTTOM_LEFT));
    m_slideControl->addChild(peanutmenu,4);
    
    
    CCScrollingMenu *screenMenu = CCScrollingMenu::create();
    screenMenu->setPosition(0,0);
    
    BuildUpgrades(screenMenu);
    BuildPowerUps(screenMenu);
    BuildCharacters(screenMenu);
    BuildBikes(screenMenu);
  
    screenMenu->alignItemsVerticallyWithPadding(-10*scaleY);
    CCSize viewSize;
    viewSize.width = 320.0f*scaleX;
    viewSize.height = 1450.0f*scaleY/(scaleY/scale);
    CCScrollView *scrollView = CCScrollView::create(viewSize,screenMenu);
    //scrollView->setBounceable(false);
    //temp = ComingSoonButton->getPositionX()/scaleX-480.0f;
    //temp += (ComingSoonButton->getContentSize().width)/scale;
    scrollView->setPosition(ScreenHelper::getAnchorPointPlusOffset(ScreenHelper::ANCHOR_BOTTOM_LEFT,160,275.0f*(scaleY/scale)-(viewSize.height/((scaleY+scale)/2.0f))/2.0f));
    scrollView->setContentSize(screenMenu->getContentSize());
    
    scrollView->setContentOffset(ccp(312.0f/2.0f*scaleX,0.0f));
    scrollView->setDirection(kCCScrollViewDirectionVertical);
    
    m_slideControl->addChild(scrollView);

    
    char currencyStr[32];
    sprintf(currencyStr,"$%d",SaveLoad::m_SaveData.currency);
    
    CCSize dim;
    dim.width = 100.0f;
    dim.height = 25.0f;
    
    m_currency = CCLabelBMFont::create(currencyStr,"JacobyICGBlack22pnt.fnt");
    m_currency->setScale(scale);
    m_currency->setAnchorPoint(ccp(1.0f,0.5f));
    m_currency->setPosition(ScreenHelper::getAnchorPointPlusOffset(ScreenHelper::ANCHOR_BOTTOM_LEFT,456, 238));
    addChild(m_currency,10);
    
    
    if(SaveLoad::m_SaveData.beenToStore==0)
    {
        SaveLoad::m_SaveData.beenToStore=1;
        SaveLoad::Save();
    //    [TestFlight passCheckpoint:@"STORE_VISIT"];
    }
    
    scheduleUpdate();
}
Esempio n. 25
0
bool BanTimeView::init(int type ,const char *content,const char * buttonName, int timeJson){
    m_type = type;
//    this->setIsHDPanel(true);
    CCNode* _rootNode = _rootNode = CCBLoadFile("YesNoDialog.ccbi", this, this);
//    auto bg = CCBLoadFile("GoldExchangeView_NEW", this, this,true);
//    CCSize winsize = CCDirector::sharedDirector()->getWinSize();
//    this->setContentSize(winsize);
    bool bRet=false;
    if (_rootNode) {
//        mContents.clear();
        CCSize size=CCDirector::sharedDirector()->getWinSize();
        setContentSize(size);
        //label可滑动,放在scrollview上
        m_contentLabel = CCLabelTTF::create();
        m_contentLabel->setDimensions(CCSize(360, 0));
        m_contentLabel->setString(content);
        m_contentLabel->setColor(ccWHITE);
        m_contentLabel->setFontSize(24);
        m_contentLabel->setVerticalAlignment(kCCVerticalTextAlignmentTop);
        m_contentLabel->setHorizontalAlignment(kCCTextAlignmentLeft);
        m_contentLabel->setPosition(ccp(0, -10));
        int totalHeight = m_contentLabel->getContentSize().height ;/** m_contentLabel->getOriginScaleY();*/
        if(totalHeight > m_subLayer->getContentSize().height + 5){
            
            CCScrollView* scroll = CCScrollView::create(CCSize(360, 200));
            scroll->setContentSize(CCSize(360, m_contentLabel->getContentSize().height/**m_contentLabel->getOriginScaleY()*/));
            m_contentLabel->setAnchorPoint(Point(0,0));
            scroll->addChild(m_contentLabel);
            m_subLayer->addChild(scroll);
            float gapWidth = 360-m_contentLabel->getContentSize().width/**m_contentLabel->getOriginScaleX()*/;
            scroll->setPosition(ccp(gapWidth/2, 5));
            scroll->setDirection(kCCScrollViewDirectionVertical);
            scroll->setAnchorPoint(ccp(0, 0));
            scroll->setContentOffset(ccp(0, 200-m_contentLabel->getContentSize().height/**m_contentLabel->getOriginScaleY()*/));
            //            }
        }else{
            m_subNode->addChild(m_contentLabel);
            m_contentLabel->setAnchorPoint(ccp(0, 1));
            float gapWidth = 360-m_contentLabel->getContentSize().width/**m_contentLabel->getOriginScaleX()*/;
            m_contentLabel->setPosition(ccp(gapWidth/2, 0));
        }
        CCCommonUtils::setButtonTitle(m_btnOk, buttonName);
        
        this->m_btnText->setString(buttonName);
        
        CCCommonUtils::setButtonTitle(m_btnCancel, _lang("cancel_btn_label").c_str());
        this->m_goldIcon->setVisible(false);
        this->m_goldNum->setVisible(false);
        this->m_btnText->setVisible(false);
        this->m_btnCancel->setVisible(false);
        this->m_muteTimeNode->setVisible(false);
        bRet=true;
        
        // change btn priority to prevent touch swallowed by others (CCControl class must change it's DefaultTouchPriority)
        m_btnOk->setTouchPriority(-1);
        m_btnCancel->setTouchPriority(-1);
        
        m_noticeNode->setVisible(false);
        m_noticeLabel->setString(_lang("102109"));
        m_timeLabel->setString("");
        m_timeLabel->setColor(ccYELLOW);
        
//        m_time=-1;
//        m_isBuild=true;
        m_isAlliance = false;
        m_closeAll = false;
        serverUpdateInfo(content, timeJson);
    }
    return bRet;
}
Esempio n. 26
0
bool MailWritePopUpView::initWithGift(int giftID,int propID) {
    if(!PopupBaseView::init()) {
        return false;
    }
    setIsHDPanel(true);
    mPropID = propID;
    mType = 1;
//    auto cf = CCLoadSprite::getSF("Mail_diban.png");
    auto cf = CCLoadSprite::getSF("Mail_BG1.png");
    if (cf==NULL) {
        CCLoadSprite::doResourceByCommonIndex(11, true);
        CCLoadSprite::doResourceByCommonIndex(6, true);
        setCleanFunction([]() {
            CCLoadSprite::doResourceByCommonIndex(11, false);
            CCLoadSprite::doResourceByCommonIndex(6, false);
        });
    }
    else {
        CCLoadSprite::doResourceByCommonIndex(11, true);
        setCleanFunction([]() {
            CCLoadSprite::doResourceByCommonIndex(11, false);
        });
    }

    auto bg = CCBLoadFile("NEWMailWriteView", this, this);
    if (CCCommonUtils::isIosAndroidPad()) {
        this->setContentSize(CCDirector::sharedDirector()->getWinSize());
    }
    else
        this->setContentSize(bg->getContentSize());
//    setTitleName(_lang("105513"));
    m_titleText->setString(_lang("105513"));
    if (CCCommonUtils::isIosAndroidPad()) {
        int extH = getExtendHeight();
        this->m_listNode->setContentSize(CCSize(m_listNode->getContentSize().width, m_listNode->getContentSize().height + extH));
        m_downNode->setPositionY(m_downNode->getPositionY() - extH);
        m_bgNode->setPositionY(m_bgNode->getPositionY() - extH);
//        m_nodeContent->setPositionY(m_nodeContent->getPositionY() - extH);
        auto tbg = CCLoadSprite::loadResource("Mail_diban.png");
        auto tBatchNode = CCSpriteBatchNode::createWithTexture(tbg->getTexture());
        auto picBg1 = CCLoadSprite::createSprite("Mail_diban.png");
        picBg1->setAnchorPoint(ccp(0, 0));
        picBg1->setPosition(ccp(0, 0));
        picBg1->setScaleX(2.4);
        tBatchNode->addChild(picBg1);
        int maxHeight = CCDirector::sharedDirector()->getWinSize().height;
        int curHeight = picBg1->getContentSize().height;
        while(curHeight < maxHeight)
        {
            auto picBg2 = CCLoadSprite::createSprite("Mail_diban.png");
            picBg2->setAnchorPoint(ccp(0, 0));
            picBg2->setPosition(ccp(0, curHeight));
            picBg2->setScaleX(2.4);
            tBatchNode->addChild(picBg2);
            curHeight += picBg2->getContentSize().height;
        }
        m_bgNode->addChild(tBatchNode);
    }
    else {
        int extH = getExtendHeight();
        this->m_listNode->setContentSize(CCSize(m_listNode->getContentSize().width, m_listNode->getContentSize().height + extH));
        m_downNode->setPositionY(m_downNode->getPositionY() - extH);
        m_bgNode->setPositionY(m_bgNode->getPositionY() - extH);
//        m_nodeContent->setPositionY(m_nodeContent->getPositionY() - extH);
        auto tbg = CCLoadSprite::loadResource("Mail_diban.png");
        auto tBatchNode = CCSpriteBatchNode::createWithTexture(tbg->getTexture());
        auto picBg1 = CCLoadSprite::createSprite("Mail_diban.png");
        picBg1->setAnchorPoint(ccp(0, 0));
        picBg1->setPosition(ccp(0, 0));
        tBatchNode->addChild(picBg1);
        int maxHeight = CCDirector::sharedDirector()->getWinSize().height;
        int curHeight = picBg1->getContentSize().height;
        while(curHeight < maxHeight)
        {
            auto picBg2 = CCLoadSprite::createSprite("Mail_diban.png");
            picBg2->setAnchorPoint(ccp(0, 0));
            picBg2->setPosition(ccp(0, curHeight));
            tBatchNode->addChild(picBg2);
            curHeight += picBg2->getContentSize().height;
        }
        m_bgNode->addChild(tBatchNode);
    }
//    CCSize wNodeSize = this->m_waitingNode->getContentSize();
//    m_waitingNode->setContentSize(CCSize(wNodeSize.width,wNodeSize.height + dh));
//    m_waitingNode->setPositionY(m_waitingNode->getPositionY() - dh*0.5);

//    this->m_nameText->setString(_lang("105505").c_str());
    //    this->m_titleText->setString(_lang("105503").c_str());
//    this->m_contentText->setString(_lang("105504").c_str());

    CCNode *searchnode = CCNode::create();
    auto spr1 = CCLoadSprite::createScale9Sprite("button_dark.png");
    CCControlButton *shareBtn = CCControlButton::create(spr1);
    searchnode->addChild(shareBtn);
    shareBtn->addTargetWithActionForControlEvents(this, cccontrol_selector(MailWritePopUpView::onChooseName), CCControlEventTouchUpInside);
    CCSprite* sprIcon = CCLoadSprite::createSprite("search_icon.png");
    CCSize sprSize = sprIcon->getContentSize();
    searchnode->addChild(sprIcon);
    CCCommonUtils::setSpriteMaxSize(sprIcon, 40);
    shareBtn->setPreferredSize(CCSize(60, 60));
    this->m_nameContainer->addChild(searchnode);
    searchnode->setPosition(440, 0);

    CCScrollView *scrollView = CCScrollView::create(m_listNode->getContentSize());
    scrollView->setTouchPriority(Touch_Popup_Item);
    scrollView->setDirection(kCCScrollViewDirectionVertical);
    m_nodeContent->removeFromParentAndCleanup(false);
    scrollView->addChild(m_nodeContent);
    scrollView->setTag(10000);
    m_nameEditBox = InputFieldMultiLine::create(CCSizeMake(380,40),"Mail_write.png",24);
//    m_nameEditBox->setTouchPriority(Touch_Default);
    m_nameEditBox->setMaxChars(30);
    m_nameEditBox->setPosition(ccp(0, -20));
    m_nameEditBox->setLineNumber(1);
    m_nameEditBox->setFontColor({63,44,27});

    this->m_nameContainer->addChild(m_nameEditBox);
    m_nameEditBox->m_enabled = (mPropID == ITEM_SEND_GIFTALLIANCE || mPropID == ITEM_SEND_GIFT || mPropID == ITEM_SEND_GIFTMORE)?false:true;

    m_contentEditBox = InputFieldMultiLine::create(m_contentContainer->getContentSize(),"Mail_write.png",24);
    m_contentEditBox->setTouchPriority(Touch_Default);
    m_contentEditBox->setMaxChars(300);
    m_contentEditBox->setLineNumber(5);
    m_contentEditBox->setPosition(ccp(0, 0));
    m_contentEditBox->setFontColor({63,44,27});
    this->m_contentContainer->addChild(m_contentEditBox);
    m_contentEditBox->setText(_lang("101383"));
    CCSize liseNodeSize = this->m_listNode->getContentSize() * m_listNode->getScale();
    MailGiftCell *mailGiftCell = MailGiftCell::create(CCSize(liseNodeSize.width, liseNodeSize.height - 110),mPropID,giftID);
    scrollView->addChild(mailGiftCell);
    mailGiftCell->setTag(10000);
    CCSize cellSize = mailGiftCell->getContentSize();
    int needH = ceil(cellSize.height + 400);
    int nowH = m_listNode->getContentSize().height;
    m_nodeContent->setPosition(ccp(300,cellSize.height + 100));
    mailGiftCell->setPosition(ccp(0,0));
    m_listNode->addChild(scrollView);
    scrollView->setContentSize(CCSize(600,400 + cellSize.height));
    scrollView->setContentOffset(ccp(0, nowH - needH));

    if(needH>nowH) {
        scrollView->setTouchEnabled(true);
    } else {
        scrollView->setTouchEnabled(false);
    }

    if(!m_toName.empty()) {
        m_nameEditBox->setText(m_toName.c_str());
        m_nameEditBox->setEnabled(false);
    }
    updateBtnStatus();

    return true;
}
Esempio n. 27
0
bool LeaderBoard::init()
{

	if (!CCLayer::init())
		return false;
	
	//float iMenuWidthOffset = 0.55;
	SCREEN_WIDTH = CCDirector::sharedDirector()->getWinSize().width;
	SCREEN_HEIGHT = CCDirector::sharedDirector()->getWinSize().height;


	CCSprite* bgsprite =ThemeManager::sharedInstance()->spriteWithImageFile("leaderboard.png");
	bgsprite->setScaleX(SCREEN_WIDTH/bgsprite->getContentSize().width);
	bgsprite->setScaleY(SCREEN_HEIGHT/bgsprite->getContentSize().height);
	bgsprite->setPosition(ccp(SCREEN_WIDTH/2, SCREEN_HEIGHT/2));
	this->addChild(bgsprite,1);

	CCSprite* updateNicknamelb =ThemeManager::sharedInstance()->spriteWithImageFile("btn_update_nickname.png");
	CCSprite* updateNicknameSelectedlb =ThemeManager::sharedInstance()->spriteWithImageFile("btn_update_nickname.png");
	updateNicknameSelectedlb->setScale(1.1);
	CCMenuItemSprite* pupdateNicknameItemSpritelb = CCMenuItemSprite::itemWithNormalSprite(updateNicknamelb, updateNicknameSelectedlb, this, menu_selector(LeaderBoard::updateNicknameClick));
	pupdateNicknameItemSpritelb->setScale(LL_BUTTON_SCALE_VALUE);
	CCMenu* pupdateNicknameMenu = CCMenu::menuWithItems(pupdateNicknameItemSpritelb,NULL);
	pupdateNicknameMenu->setPosition(ccp(SCREEN_WIDTH*0.3, SCREEN_HEIGHT*0.15));

	this->addChild(pupdateNicknameMenu, 3);	


	CCSprite* back2menuNormallb =ThemeManager::sharedInstance()->spriteWithImageFile("back2menu.png");
	CCSprite* back2menuSelectedlb =ThemeManager::sharedInstance()->spriteWithImageFile("back2menu.png");
	back2menuSelectedlb->setScale(1.1);

	CCMenuItemSprite* pback2menuItemSpritelb = CCMenuItemSprite::itemWithNormalSprite(back2menuNormallb, back2menuSelectedlb, this, menu_selector(LeaderBoard::back2menuClick));
	pback2menuItemSpritelb->setScale(LL_BUTTON_SCALE_VALUE);
	CCMenu* pback2menuMenu = CCMenu::menuWithItems(pback2menuItemSpritelb,NULL);
	pback2menuMenu->setPosition(ccp(SCREEN_WIDTH*0.7, SCREEN_HEIGHT*0.15));

	this->addChild(pback2menuMenu, 3);

	CCLayer *bg = CCLayer::create();  
    bg->setContentSize(CCSizeMake(SCREEN_WIDTH,SCREEN_HEIGHT*0.58));  
    bg->setAnchorPoint(ccp(0,0));  
    bg->setPosition(ccp(0,0));  

	char buff[16];
	*buff = 0;

	for(int i=0;i<10;i++){
		int offsetHeight = SCREEN_HEIGHT*(0.63125-0.0583*i-0.08);

		sprintf(buff,"%d ",i+1);
		scoreLabel=CCLabelTTF::labelWithString(buff,CCSizeMake(300*LL_SCREEN_SCALE_VALUE,32), kCCTextAlignmentLeft,kCCVerticalTextAlignmentCenter,ThemeManager::sharedInstance()->getFontName(),36*LL_SCREEN_SCALE_VALUE);
		scoreLabel->setPosition(ccp(SCREEN_WIDTH*0.43,offsetHeight));
		scoreLabel->setColor(ThemeManager::sharedInstance()->getColor());
		bg->addChild(scoreLabel, 4);

		scoreLabel=CCLabelTTF::labelWithString(getNicknameByRank(i+1),CCSizeMake(300*LL_SCREEN_SCALE_VALUE,32), kCCTextAlignmentLeft,kCCVerticalTextAlignmentCenter,ThemeManager::sharedInstance()->getFontName(),36*LL_SCREEN_SCALE_VALUE);
		scoreLabel->setPosition(ccp(SCREEN_WIDTH*0.50,offsetHeight));
		scoreLabel->setColor(ThemeManager::sharedInstance()->getColor());
		bg->addChild(scoreLabel, 4);

		sprintf(buff,"%d ",getScore(i+1));
		scoreLabel=CCLabelTTF::labelWithString(buff,CCSizeMake(150*LL_SCREEN_SCALE_VALUE,32), kCCTextAlignmentRight,kCCVerticalTextAlignmentCenter,ThemeManager::sharedInstance()->getFontName(),36*LL_SCREEN_SCALE_VALUE);
		scoreLabel->setPosition(ccp(SCREEN_WIDTH*0.78,offsetHeight));
		scoreLabel->setColor(ThemeManager::sharedInstance()->getColor());
		bg->addChild(scoreLabel, 4);
	}

    CCScrollView * view = CCScrollView::create(CCSizeMake(SCREEN_WIDTH,SCREEN_HEIGHT*0.35), bg);
    view->setDirection(kCCScrollViewDirectionVertical);  
	view->setContentSize( CCSizeMake(SCREEN_WIDTH,SCREEN_HEIGHT*0.58) );
	view->setContentOffset(ccp(0,-SCREEN_HEIGHT*0.226));
    view->setAnchorPoint(ccp(0,0));  
    view->setPosition(0,SCREEN_HEIGHT*0.305);  
    this->addChild(view,4);  


	sprintf(buff,"%d ",getBestScore());
	scoreLabel=CCLabelTTF::labelWithString(buff,CCSizeMake(150*LL_SCREEN_SCALE_VALUE,32), kCCTextAlignmentRight,kCCVerticalTextAlignmentCenter,ThemeManager::sharedInstance()->getFontName(),36*LL_SCREEN_SCALE_VALUE);
	scoreLabel->setPosition(ccp(SCREEN_WIDTH*0.78,SCREEN_HEIGHT*(0.62725-0.0583*6)));
	scoreLabel->setColor(ThemeManager::sharedInstance()->getColor());
	this->addChild(scoreLabel, 4);

	scoreLabel=CCLabelTTF::labelWithString(getNickname(),CCSizeMake(300*LL_SCREEN_SCALE_VALUE,32), kCCTextAlignmentLeft,kCCVerticalTextAlignmentCenter,ThemeManager::sharedInstance()->getFontName(),36*LL_SCREEN_SCALE_VALUE);
	scoreLabel->setPosition(ccp(SCREEN_WIDTH*0.51,SCREEN_HEIGHT*(0.62725-0.0583*6)));
	scoreLabel->setColor(ThemeManager::sharedInstance()->getColor());
	this->addChild(scoreLabel, 4);

	/*char buff2[256];
	*buff2 = 0;
	sprintf(buff2,"%d %s",getUserRank(), getNickname());
	scoreLabel=CCLabelTTF::labelWithString(buff2,CCSizeMake(330*LL_SCREEN_SCALE_VALUE,32), kCCTextAlignmentLeft,kCCVerticalTextAlignmentCenter,ThemeManager::sharedInstance()->getFontName(),36*LL_SCREEN_SCALE_VALUE);
	scoreLabel->setPosition(ccp(SCREEN_WIDTH*0.43,SCREEN_HEIGHT*(0.63125-0.0583*7)));
	scoreLabel->setColor(ThemeManager::sharedInstance()->getColor());
	this->addChild(scoreLabel, 4);*/

	return true;
}
Esempio n. 28
0
void PropSpeedupView::refreshView(CCObject* ccObj){
    if(m_clickIndex > -1 && m_clickIndex<m_Tools.size()){
        
        m_isSendingCMD=false;
        m_sprSelect->removeFromParent();
        m_sprSelect=NULL;
        CCPoint offset = m_scrollView->getContentOffset();
        CCSize nodeSize = m_nodeProp1->getContentSize();
        CCScrollView *scroll = CCScrollView::create(nodeSize);
        scroll->setDirection(kCCScrollViewDirectionHorizontal);
        scroll->setTouchEnabled(false);
        m_nodeProp1->addChild(scroll);
        std::vector<int>::iterator iter = m_Tools.begin();
        int index =0;
        while (iter!=m_Tools.end()) {
            auto &info = ToolController::getInstance()->getToolInfoById((*iter));
            if(info.getCNT()>0){
                PropSpeedupCell* cell = PropSpeedupCell::create(info.itemId);
                scroll->addChild(cell);
                cell->setPosition(ccp(PROP_SPEEDUP_CELL_W * (index + .5), PROP_SPEEDUP_CELL_W * 1.1));
                ++index;
                ++iter;
            }else{
                m_Tools.erase(iter);
            }
        }
        if(m_clickIndex >= m_Tools.size()){
            m_clickIndex = m_Tools.size() - 1;
        }
        scroll->setContentOffset(offset);
        m_scrollView->removeFromParent();
        m_scrollView = scroll;
        m_sprSelect=CCLoadSprite::createScale9Sprite("sel_general.png");
        m_sprSelect->setInsetBottom(10);
        m_sprSelect->setInsetTop(10);
        m_sprSelect->setInsetLeft(10);
        m_sprSelect->setInsetRight(10);
        m_sprSelect->setPreferredSize(CCSize(PROP_SPEEDUP_CELL_W, PROP_SPEEDUP_CELL_W));
        m_partileNode = Node::create();
        m_sprSelect->addChild(m_partileNode);
        auto particle = ParticleController::createParticle("Speedupicon_1");
        particle->setPosition(m_sprSelect->getContentSize() / 2);
        m_partileNode->addChild(particle);
        m_scrollView->addChild(m_sprSelect);
        m_sprSelect->setZOrder(-1);
        setSelectSpritePosition();
        autoBoundsScroll();
        refreshEditBox();
        {
            this->unschedule(schedule_selector(PropSpeedupView::updateProgressBar));
            auto& qInfo = GlobalData::shared()->allQueuesInfo[m_qID];
            float sumTime = qInfo.totalTime;
            float curTime = qInfo.finishTime - GlobalData::shared()->getWorldTime();
            float scaleXDst = 1 - curTime * 1.0 / sumTime;
//            float scaleYNow = m_progressTime->getScaleX();
            float scaleY = m_progressTime->getScaleY();
            m_progressTime->stopAllActions();
            this->unschedule(CC_SCHEDULE_SELECTOR(PropSpeedupView::showProTxt));
            this->schedule(CC_SCHEDULE_SELECTOR(PropSpeedupView::showProTxt));
            ScaleTo* sc = ScaleTo::create(1.0, scaleXDst, scaleY);
            auto fun1 = [=](){
                this->unschedule(CC_SCHEDULE_SELECTOR(PropSpeedupView::showProTxt));
                this->unschedule(schedule_selector(PropSpeedupView::updateProgressBar));
                this->updateProgressBar(0);
                this->schedule(schedule_selector(PropSpeedupView::updateProgressBar), 1);
            };
            CallFunc* cfun1 = CallFunc::create(fun1);
            m_progressTime->runAction(Sequence::create(sc, cfun1, nullptr));
        }
    }
    
    if(m_Tools.size()==0){
        closeDialog();
    }else{
//        m_clickIndex = -1;
        m_isSendingCMD=false;
        if(m_waitInterface){
            m_waitInterface->removeFromParent();
            m_waitInterface=NULL;
        }
        CCSafeNotificationCenter::sharedNotificationCenter()->removeObserver(this,  MSG_QUEUE_TIME_UPDATE);
    }
}
Esempio n. 29
0
void CJSScrollViewLayer::ccTouchEnded(CCTouch* touch, CCEvent* event)
{
	CCPoint ptTouch = touch->getLocationInView();
	ptTouch = CCDirector::sharedDirector()->convertToGL(ptTouch);

	CCLog("CJSScrollViewLayer::ccTouchEnded() x:%f , y:%f",ptTouch.x,ptTouch.y);

	CCPoint ptDif = ccpSub(ptTouch, mPtTouchBegan);

	if ( abs(ptDif.x) < 10) {
		CCScrollView *sv = (CCScrollView *)getChildByTag(TAG_JSSEL_SCROLLVIEW);
		CCRect rcScrollView = sv->boundingBox();

		CCPoint ptOffset = sv->getContentOffset();

		for (unsigned int i=0 ; i<m_arrThumb.count(); i++) {

			int nTag = TAG_JSSEL_SCROLLVIEW_SPRITE+i;
			CCSprite *sprite = (CCSprite *) m_arrThumb.objectAtIndex(i);
			CCRect rcSprite = sprite->boundingBox();

			CCRect rcTouch = rcSprite;
			rcTouch.origin.x += ptOffset.x + rcScrollView.origin.x;
			rcTouch.origin.y = rcScrollView.origin.y;

			if (true == rcTouch.containsPoint(ptTouch)) {

				//CCScene *pScene = CCScene::create();

				// sound 중지
				if ( CocosDenshion::SimpleAudioEngine::sharedEngine()->isBackgroundMusicPlaying() )
					CocosDenshion::SimpleAudioEngine::sharedEngine()->stopBackgroundMusic();

				CocosDenshion::SimpleAudioEngine::sharedEngine()->stopAllEffects();

				//CCLog(">>>>>>>>>>>>>>>>> scrollview tag : %d",nTag-TAG_EBOOK_SCROLLVIEW_SPRITE+1);
		/*		CEbookLayer *layer = new CEbookLayer(nTag-TAG_JSSEL_SCROLLVIEW_SPRITE);	// 이미지 인덱스

				if (pScene && layer) {
					layer->autorelease();
					pScene->addChild(layer);
					CCDirector::sharedDirector()->replaceScene(pScene);
				}
		*/
				SELECT_GAME game;
				game.nLevel = m_nGameLevel;
				game.nImgIndex = nTag-TAG_JSSEL_SCROLLVIEW_SPRITE;

				CCUserDefault::sharedUserDefault()->setIntegerForKey("JS_GAME_LEVEL", m_nGameLevel);

/*	// 마지막 촬영 이미지 선택 시 Jni로 Android 카메라 앱 불러 촬영 후 이미지 획득 후 게임 실행
				if ( 12 == game.nImgIndex )
				{
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
					m_strImgPath = (char*)getImagePathToPlatform();
					CCLog ("CJSScrollViewLayer m_strImgPath =  %s", m_strImgPath);
#else
					break;
#endif
				}
				else
				{
					pScene = JS_Main::scene(game);
					CCDirector::sharedDirector()->replaceScene(CCTransitionFade::create( 0.3f, pScene ) );
				}
*/
				break;
			}
		}
	}
}