//------------------------------------------------------------------ // // ScrollBar // //------------------------------------------------------------------ void CommonScrollBar::onEnter() { CommonDemo::onEnter(); TouchGroup* tg = TouchGroup::create(); addChild(tg); // load scrollview layout Layout* _layout = static_cast<Layout*>(GUIReader::shareReader()->widgetFromJsonFile("cocosgui/UIEditorTest/UIScrollView_Editor/UIScrollView_Vertical_Editor/ui_scrollview_editor_1.json")); tg->addWidget(_layout); CCSize screenSize = CCDirector::sharedDirector()->getWinSize(); CCSize rootSize = _layout->getSize(); tg->setPosition(CCPoint((screenSize.width - rootSize.width) / 2, (screenSize.height - rootSize.height) / 2)); // hide title Label* _sceneTitle = static_cast<Label*>(UIHelper::seekWidgetByName(_layout, "UItest")); _sceneTitle->setVisible(false); // hide back Label* back_label = static_cast<Label*>(UIHelper::seekWidgetByName(_layout, "back")); back_label->setVisible(false); // scroll view ScrollView* sv = (ScrollView*)UIHelper::seekWidgetByName(_layout, "ScrollView_1137"); // 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->attachToUIScrollView(sv, cci(5, 5, 5, 5)); }
//------------------------------------------------------------------ // // 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)); }
CCScrollBar* CCScrollBar::create(CCScale9Sprite* track, CCSprite* thumb) { CCScrollBar* sb = new CCScrollBar(); sb->initWithTrackAndFixedThumb(track, thumb); return (CCScrollBar*)sb->autorelease(); }
CCScrollBar* CCScrollBar::createWithSprite(CCScale9Sprite* track, CCSprite* thumb) { CCScrollBar* sb = new CCScrollBar(); sb->initWithTrackAndFixedThumb(track, thumb); CC_SAFE_AUTORELEASE_RETURN(sb, CCScrollBar*); }