auto background = Sprite::create("background.png");background->setPosition(Vec2(visibleSize.width / 2, visibleSize.height / 2));Size backgroundSize = background->getContentSize();ScrollView * scrollview = ScrollView::create();//激活反弹,拉过之后可以弹回来scrollview->setBounceEnabled(true);//设置锚点scrollview->setAnchorPoint(Vec2::ZERO);//设置滚动方向为水平方向scrollview->setDirection(ScrollView::Direction::HORIZONTAL);//设置scrollview的size和背景一致scrollview->setContentSize(backgroundSize);//设置滚动层容器的内部容器大小scrollview->setInnerContainerSize(scrollview->getContentSize());//设置滚动层容器坐标scrollview->setPosition(Vec2((visibleSize.width - backgroundSize.width) / 2 + (backgroundSize.width - scrollview->getContentSize().width) / 2,(visibleSize.height - backgroundSize.height) / 2 + (backgroundSize.height - scrollview->getContentSize().height / 2)));this->addChild(scrollview);//创建一个buttonauto button = Button::create("button.png", "bnuttonpress.png");button->setScale9Enabled(true);button->setContentSize(Size(100.0f, button->getVirtualRendererSize().height));button->setPosition(Vec2(100,100));scrollview->addEventListener([=](Ref * pSender, ScrollView::EventType type){switch (type){case cocos2d::ui::ScrollView::EventType::SCROLL_TO_TOP:break;case cocos2d::ui::ScrollView::EventType::SCROLL_TO_BOTTOM:break;case cocos2d::ui::ScrollView::EventType::SCROLL_TO_LEFT:break;case cocos2d::ui::ScrollView::EventType::SCROLL_TO_RIGHT:break;case cocos2d::ui::ScrollView::EventType::SCROLLING:break;case cocos2d::ui::ScrollView::EventType::BOUNCE_TOP:break;case cocos2d::ui::ScrollView::EventType::BOUNCE_BOTTOM:break;case cocos2d::ui::ScrollView::EventType::BOUNCE_LEFT:break;case cocos2d::ui::ScrollView::EventType::BOUNCE_RIGHT:break;case cocos2d::ui::ScrollView::EventType::CONTAINER_MOVED:break;default:break;}});scrollview->addChild(button);
原文:http://www.cnblogs.com/feizuzu/p/b62aa5d7c03d5508a091f06daac05dbb.html