cocos2d-C++ 学习UI控件(五)之 PageView

来源:互联网 发布:淘宝俪人购是正品吗 编辑:程序博客网 时间:2024/06/03 09:26

PageView翻页视图,感觉应该用的很多,这个用起来不难我这边就简单介绍一下,本来想再讲一个RadioButtonGroup单选按钮组,可是死活显示不了不知道为什么,等以后再讲吧,反正用到的也不多。这篇也算是UI控件近阶段一个结束篇,可能以后我会接着介绍其他UI控件。

--------------------------------------------------------PageView

void HelloWorld::addPageView(){auto gb_sprite = Sprite::create("button/background.png");Size size_gb = gb_sprite->getContentSize();gb_sprite->setAnchorPoint(Vec2(0.5, 0));gb_sprite->setPosition(Vec2(480, 100));this->addChild(gb_sprite, 1);auto pageview = PageView::create();    //创建一个翻页视图pageview->setDirection(PageView::Direction::HORIZONTAL);    //设置方向,只有水平和竖直const char* image[] = { "button/Button01.png","button/Button01Disabled.png","button/Button01Pressed.png","button/Button02.png","button/Button02Disabled.png","button/Button02Pressed.png" };for (int i = 0; i < 6; i++){auto imageview = ImageView::create(image[i]);imageview->setContentSize(Size(240, 240));imageview->setScale9Enabled(true);Layout *layout = Layout::create();        //先创建一个layout,把ImageView放到layout上layout->setContentSize(Size(480,480));layout->addChild(imageview);imageview->setPosition(layout->getContentSize() / 2);pageview->setContentSize(Size(480, 480));pageview->insertPage(layout, i);             //ImageView不能直接加到PageView,其他没有试,其实把每页都做成一个layout也挺好的layout->setPosition(pageview->getContentSize() / 2);}pageview->setAnchorPoint(Vec2(0.5, 0.5));pageview->setPosition(Vec2(480, 320));pageview->addEventListener(CC_CALLBACK_2(HelloWorld::PageViewEvent, this));  //监听翻页事件this->addChild(pageview,1);}void HelloWorld::PageViewEvent(Ref* pSender, PageView::EventType type){PageView* pageview = (PageView*)pSender;switch (type){case cocos2d::ui::PageView::EventType::TURNING: log("PageView::EventType::TURNING pageview->getCurPageIndex() = %d", pageview->getCurPageIndex());break;default:break;}}

你滑动框图就可以翻页,并且翻页时候会调用翻页回调函数,静态图看不出效果我就不给效果图了

后面使用UI做个游戏,练练手...


0 0
原创粉丝点击