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); }
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); }
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 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)); }
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); }