void ScrollView::copySpecialProperties(Widget *widget) { ScrollView* scrollView = dynamic_cast<ScrollView*>(widget); if (scrollView) { Layout::copySpecialProperties(widget); setDirection(scrollView->_direction); setInnerContainerPosition(scrollView->getInnerContainerPosition()); setInnerContainerSize(scrollView->getInnerContainerSize()); _topBoundary = scrollView->_topBoundary; _bottomBoundary = scrollView->_bottomBoundary; _leftBoundary = scrollView->_leftBoundary; _rightBoundary = scrollView->_rightBoundary; _bePressed = scrollView->_bePressed; _childFocusCancelOffsetInInch = scrollView->_childFocusCancelOffsetInInch; setInertiaScrollEnabled(scrollView->_inertiaScrollEnabled); _inertiaScrolling = scrollView->_inertiaScrolling; _inertiaInitiVelocity = scrollView->_inertiaInitiVelocity; _inertiaTouchDisplacements = scrollView->_inertiaTouchDisplacements; _inertiaTouchTimeDeltas = scrollView->_inertiaTouchTimeDeltas; _inertiaPrevTouchTimestamp = scrollView->_inertiaPrevTouchTimestamp; _inertiaScrollExpectedTime = scrollView->_inertiaScrollExpectedTime; _inertiaScrollElapsedTime = scrollView->_inertiaScrollElapsedTime; _autoScrolling = scrollView->_autoScrolling; _autoScrollAttenuate = scrollView->_autoScrollAttenuate; _autoScrollStartPosition = scrollView->_autoScrollStartPosition; _autoScrollTargetDelta = scrollView->_autoScrollTargetDelta; _autoScrollDuration = scrollView->_autoScrollDuration; _autoScrollAccumulatedTime = scrollView->_autoScrollAccumulatedTime; setBounceEnabled(scrollView->_bounceEnabled); _bouncingBack = scrollView->_bouncingBack; _scrollViewEventListener = scrollView->_scrollViewEventListener; _scrollViewEventSelector = scrollView->_scrollViewEventSelector; _eventCallback = scrollView->_eventCallback; _ccEventCallback = scrollView->_ccEventCallback; setScrollBarEnabled(scrollView->isScrollBarEnabled()); if(isScrollBarEnabled()) { if(_direction != Direction::HORIZONTAL) { setScrollBarPositionFromCornerForVertical(scrollView->getScrollBarPositionFromCornerForVertical()); } if(_direction != Direction::VERTICAL) { setScrollBarPositionFromCornerForHorizontal(scrollView->getScrollBarPositionFromCornerForHorizontal()); } setScrollBarWidth(scrollView->getScrollBarWidth()); setScrollBarColor(scrollView->getScrollBarColor()); setScrollBarAutoHideEnabled(scrollView->isScrollBarAutoHideEnabled()); setScrollBarAutoHideTime(scrollView->getScrollBarAutoHideTime()); } } }
// on "init" you need to initialize your instance bool TopScene::init() { ////////////////////////////// // 1. super init first if ( !Layer::init() ) { return false; } Size size = Director::getInstance()->getWinSize(); // list view auto lv = ui::ListView::create(); lv->setGravity(ui::ListView::Gravity::CENTER_VERTICAL); lv->setContentSize(size); lv->setPosition(Point::ZERO); lv->setBounceEnabled(true); lv->setScrollBarAutoHideEnabled(true); lv->setScrollBarAutoHideTime(0.4); lv->addChild(this->pushSecondScene("TransitionCrossFade",[](Ref* sender, cocos2d::ui::Widget::TouchEventType type) { Director::getInstance()->replaceScene(TransitionCrossFade::create(1, SecondScene::createScene())); })); lv->addChild(this->pushSecondScene("TransitionFade",[](Ref* sender, cocos2d::ui::Widget::TouchEventType type) { Director::getInstance()->replaceScene(TransitionFade::create(1, SecondScene::createScene())); })); lv->addChild(this->pushSecondScene("TransitionFadeBL",[](Ref* sender, cocos2d::ui::Widget::TouchEventType type) { Director::getInstance()->replaceScene(TransitionFadeBL::create(1, SecondScene::createScene())); })); lv->addChild(this->pushSecondScene("TransitionFadeDown",[](Ref* sender, cocos2d::ui::Widget::TouchEventType type) { Director::getInstance()->replaceScene(TransitionFadeDown::create(1, SecondScene::createScene())); })); lv->addChild(this->pushSecondScene("TransitionFadeTR",[](Ref* sender, cocos2d::ui::Widget::TouchEventType type) { Director::getInstance()->replaceScene(TransitionFadeTR::create(1, SecondScene::createScene())); })); lv->addChild(this->pushSecondScene("TransitionFadeUp",[](Ref* sender, cocos2d::ui::Widget::TouchEventType type) { Director::getInstance()->replaceScene(TransitionFadeUp::create(1, SecondScene::createScene())); })); lv->addChild(this->pushSecondScene("TransitionFlipAngular",[](Ref* sender, cocos2d::ui::Widget::TouchEventType type) { Director::getInstance()->replaceScene(TransitionFlipAngular::create(1, SecondScene::createScene())); })); lv->addChild(this->pushSecondScene("TransitionFlipX",[](Ref* sender, cocos2d::ui::Widget::TouchEventType type) { Director::getInstance()->replaceScene(TransitionFlipX::create(1, SecondScene::createScene())); })); lv->addChild(this->pushSecondScene("TransitionFlipY",[](Ref* sender, cocos2d::ui::Widget::TouchEventType type) { Director::getInstance()->replaceScene(TransitionFlipY::create(1, SecondScene::createScene())); })); lv->addChild(this->pushSecondScene("TransitionJumpZoom",[](Ref* sender, cocos2d::ui::Widget::TouchEventType type) { Director::getInstance()->replaceScene(TransitionJumpZoom::create(1, SecondScene::createScene())); })); lv->addChild(this->pushSecondScene("TransitionMoveInB",[](Ref* sender, cocos2d::ui::Widget::TouchEventType type) { Director::getInstance()->replaceScene(TransitionMoveInB::create(1, SecondScene::createScene())); })); lv->addChild(this->pushSecondScene("TransitionMoveInL",[](Ref* sender, cocos2d::ui::Widget::TouchEventType type) { Director::getInstance()->replaceScene(TransitionMoveInL::create(1, SecondScene::createScene())); })); lv->addChild(this->pushSecondScene("TransitionMoveInR",[](Ref* sender, cocos2d::ui::Widget::TouchEventType type) { Director::getInstance()->replaceScene(TransitionMoveInR::create(1, SecondScene::createScene())); })); lv->addChild(this->pushSecondScene("TransitionMoveInT",[](Ref* sender, cocos2d::ui::Widget::TouchEventType type) { Director::getInstance()->replaceScene(TransitionMoveInT::create(1, SecondScene::createScene())); })); lv->addChild(this->pushSecondScene("TransitionPageTurn",[](Ref* sender, cocos2d::ui::Widget::TouchEventType type) { Director::getInstance()->replaceScene(TransitionPageTurn::create(1, SecondScene::createScene(), false)); })); // lv->addChild(this->pushSecondScene("TransitionProgress",[](Ref* sender, cocos2d::ui::Widget::TouchEventType type) { // Director::getInstance()->replaceScene(TransitionProgress::create(1, SecondScene::createScene())); // })); lv->addChild(this->pushSecondScene("TransitionProgressHorizontal",[](Ref* sender, cocos2d::ui::Widget::TouchEventType type) { Director::getInstance()->replaceScene(TransitionProgressHorizontal::create(1, SecondScene::createScene())); })); lv->addChild(this->pushSecondScene("TransitionProgressInOut",[](Ref* sender, cocos2d::ui::Widget::TouchEventType type) { Director::getInstance()->replaceScene(TransitionProgressInOut::create(1, SecondScene::createScene())); })); lv->addChild(this->pushSecondScene("TransitionProgressOutIn",[](Ref* sender, cocos2d::ui::Widget::TouchEventType type) { Director::getInstance()->replaceScene(TransitionProgressOutIn::create(1, SecondScene::createScene())); })); lv->addChild(this->pushSecondScene("TransitionProgressRadialCCW",[](Ref* sender, cocos2d::ui::Widget::TouchEventType type) { Director::getInstance()->replaceScene(TransitionProgressRadialCCW::create(1, SecondScene::createScene())); })); lv->addChild(this->pushSecondScene("TransitionProgressRadialCW",[](Ref* sender, cocos2d::ui::Widget::TouchEventType type) { Director::getInstance()->replaceScene(TransitionProgressRadialCW::create(1, SecondScene::createScene())); })); lv->addChild(this->pushSecondScene("TransitionProgressVertical",[](Ref* sender, cocos2d::ui::Widget::TouchEventType type) { Director::getInstance()->replaceScene(TransitionProgressVertical::create(1, SecondScene::createScene())); })); lv->addChild(this->pushSecondScene("TransitionRotoZoom",[](Ref* sender, cocos2d::ui::Widget::TouchEventType type) { Director::getInstance()->replaceScene(TransitionRotoZoom::create(1, SecondScene::createScene())); })); // lv->addChild(this->pushSecondScene("TransitionScene",[](Ref* sender, cocos2d::ui::Widget::TouchEventType type) { // Director::getInstance()->replaceScene(TransitionScene::create(1, SecondScene::createScene())); // })); // // lv->addChild(this->pushSecondScene("TransitionSceneOriented",[](Ref* sender, cocos2d::ui::Widget::TouchEventType type) { // Director::getInstance()->replaceScene(TransitionSceneOriented::create(1, SecondScene::createScene(), TransitionScene::Orientation::UP_OVER)); // })); lv->addChild(this->pushSecondScene("TransitionShrinkGrow",[](Ref* sender, cocos2d::ui::Widget::TouchEventType type) { Director::getInstance()->replaceScene(TransitionShrinkGrow::create(1, SecondScene::createScene())); })); lv->addChild(this->pushSecondScene("TransitionSlideInB",[](Ref* sender, cocos2d::ui::Widget::TouchEventType type) { Director::getInstance()->replaceScene(TransitionSlideInB::create(1, SecondScene::createScene())); })); lv->addChild(this->pushSecondScene("TransitionSlideInL",[](Ref* sender, cocos2d::ui::Widget::TouchEventType type) { Director::getInstance()->replaceScene(TransitionSlideInL::create(1, SecondScene::createScene())); })); lv->addChild(this->pushSecondScene("TransitionSlideInR",[](Ref* sender, cocos2d::ui::Widget::TouchEventType type) { Director::getInstance()->replaceScene(TransitionSlideInR::create(1, SecondScene::createScene())); })); lv->addChild(this->pushSecondScene("TransitionSlideInT",[](Ref* sender, cocos2d::ui::Widget::TouchEventType type) { Director::getInstance()->replaceScene(TransitionSlideInT::create(1, SecondScene::createScene())); })); lv->addChild(this->pushSecondScene("TransitionSplitCols",[](Ref* sender, cocos2d::ui::Widget::TouchEventType type) { Director::getInstance()->replaceScene(TransitionSplitCols::create(1, SecondScene::createScene())); })); lv->addChild(this->pushSecondScene("TransitionSplitRows",[](Ref* sender, cocos2d::ui::Widget::TouchEventType type) { Director::getInstance()->replaceScene(TransitionSplitRows::create(1, SecondScene::createScene())); })); lv->addChild(this->pushSecondScene("TransitionTurnOffTiles",[](Ref* sender, cocos2d::ui::Widget::TouchEventType type) { Director::getInstance()->replaceScene(TransitionTurnOffTiles::create(1, SecondScene::createScene())); })); lv->addChild(this->pushSecondScene("TransitionZoomFlipAngular",[](Ref* sender, cocos2d::ui::Widget::TouchEventType type) { Director::getInstance()->replaceScene(TransitionZoomFlipAngular::create(1, SecondScene::createScene())); })); lv->addChild(this->pushSecondScene("TransitionZoomFlipX",[](Ref* sender, cocos2d::ui::Widget::TouchEventType type) { Director::getInstance()->replaceScene(TransitionZoomFlipX::create(1, SecondScene::createScene())); })); lv->addChild(this->pushSecondScene("TransitionZoomFlipY",[](Ref* sender, cocos2d::ui::Widget::TouchEventType type) { Director::getInstance()->replaceScene(TransitionZoomFlipY::create(1, SecondScene::createScene())); })); this->addChild(lv); return true; }