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); }
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)); }
CCScrollView* CCScrollView::create() { CCScrollView* pRet = new CCScrollView(); if (pRet && pRet->init()) { CC_SAFE_AUTORELEASE(pRet); } else { CC_SAFE_DELETE(pRet); } return pRet; }
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; }
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); }
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 }
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)); }
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); } }
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)); }
//주기적으로 호출 되면서 내용을 갱신할 함수 -> 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); }
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; }
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; } }
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; }
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); }
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); }
void CCScrollViewCreator::endNode(CCNode* pNode) { CCScrollView* pScrollView = (CCScrollView* )pNode; pScrollView->setDelegate(dynamic_cast<CCScrollViewDelegate*>(mRootDelegate)); CCNodeCreator::setAttribute(pNode); }
// 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(); }
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; }
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; }
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; }
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); } }
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; } } } }