• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

cynchanpin

  • 博客园
  • 联系
  • 订阅
  • 管理

View Post

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)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3