cocos2d-x3.0 PageView
.h加入例如以下代码:
void pageViewEvent(Ref *pSender, PageViewEventType type);
.m
layout = Layout::create();
layout->setSize(Size(widgetSize.width, widgetSize.height));
//横向排列,这里相似Android里的线性布局
//layout->setLayoutType(LAYOUT_RELATIVE);
/*以图片为背景*/
layout->setBackGroundImageScale9Enabled(true);
layout->setBackGroundImage("green_edit.png");
layout->setPosition(Point(0,0));
addChild(layout);
/******************************************************************************************/
PageView* pageView = PageView::create();
pageView->setSize(Size(480, 260));
pageView->setPosition(Point(widgetSize.width / 2, widgetSize.height / 2));
for (int i = 0; i < 3; i++) {
Layout* layout1 = Layout::create();
layout1->setSize(Size(480, 260));
ImageView* imageView = ImageView::create("scrollviewbg.png");
imageView->setScale9Enabled(true);
imageView->setSize(Size(480, 260));
imageView->setPosition(Point(layout1->getSize().width / 2, layout1->getSize().height / 2));
layout1->addChild(imageView);
Text* label = Text::create(StringUtils::format("page %d",(i+1)), "fonts/Marker Felt.ttf", 30);
label->setColor(Color3B(92, 192, 192));
label->setPosition(Point(layout1->getSize().width / 2.0f, layout1->getSize().height / 2.0f));
layout1->addChild(label);
pageView->addPage(layout1);
}
pageView->addEventListenerPageView(this, pagevieweventselector(LayoutTest::pageViewEvent));
layout->addChild(pageView);void LayoutTest::pageViewEvent(cocos2d::Ref *pSender, PageViewEventType type)
{
switch (type) {
case cocos2d::ui::PAGEVIEW_EVENT_TURNING:
{
PageView* pageView = dynamic_cast<PageView*>(pSender);
log("%d",pageView->getCurPageIndex() + 1);
}
break;
default:
break;
}
}
posted on 2017-05-10 11:41 cynchanpin 阅读(800) 评论(0) 收藏 举报
浙公网安备 33010602011771号