滚动层容器

  1. auto background = Sprite::create("background.png");
  2. background->setPosition(Vec2(visibleSize.width / 2, visibleSize.height / 2));
  3. Size backgroundSize = background->getContentSize();
  4. ScrollView * scrollview = ScrollView::create();
  5. //激活反弹,拉过之后可以弹回来
  6. scrollview->setBounceEnabled(true);
  7. //设置锚点
  8. scrollview->setAnchorPoint(Vec2::ZERO);
  9. //设置滚动方向为水平方向
  10. scrollview->setDirection(ScrollView::Direction::HORIZONTAL);
  11. //设置scrollview的size和背景一致
  12. scrollview->setContentSize(backgroundSize);
  13. //设置滚动层容器的内部容器大小
  14. scrollview->setInnerContainerSize(scrollview->getContentSize());
  15. //设置滚动层容器坐标
  16. scrollview->setPosition(Vec2((visibleSize.width - backgroundSize.width) / 2 + (backgroundSize.width - scrollview->getContentSize().width) / 2,
  17. (visibleSize.height - backgroundSize.height) / 2 + (backgroundSize.height - scrollview->getContentSize().height / 2)));
  18. this->addChild(scrollview);
  19. //创建一个button
  20. auto button = Button::create("button.png", "bnuttonpress.png");
  21. button->setScale9Enabled(true);
  22. button->setContentSize(Size(100.0f, button->getVirtualRendererSize().height));
  23. button->setPosition(Vec2(100,100));
  24. scrollview->addEventListener([=](Ref * pSender, ScrollView::EventType type){
  25. switch (type)
  26. {
  27. case cocos2d::ui::ScrollView::EventType::SCROLL_TO_TOP:
  28. break;
  29. case cocos2d::ui::ScrollView::EventType::SCROLL_TO_BOTTOM:
  30. break;
  31. case cocos2d::ui::ScrollView::EventType::SCROLL_TO_LEFT:
  32. break;
  33. case cocos2d::ui::ScrollView::EventType::SCROLL_TO_RIGHT:
  34. break;
  35. case cocos2d::ui::ScrollView::EventType::SCROLLING:
  36. break;
  37. case cocos2d::ui::ScrollView::EventType::BOUNCE_TOP:
  38. break;
  39. case cocos2d::ui::ScrollView::EventType::BOUNCE_BOTTOM:
  40. break;
  41. case cocos2d::ui::ScrollView::EventType::BOUNCE_LEFT:
  42. break;
  43. case cocos2d::ui::ScrollView::EventType::BOUNCE_RIGHT:
  44. break;
  45. case cocos2d::ui::ScrollView::EventType::CONTAINER_MOVED:
  46. break;
  47. default:
  48. break;
  49. }
  50. });
  51. scrollview->addChild(button);





posted @ 2017-01-09 11:23  feizuzu  阅读(312)  评论(0编辑  收藏  举报