加载翻页容器并添加简单交互的功能

1.用cocos studio创建一个关卡选择的示例工程。

2.用cocos studio创建一个所有资源的和图(.plist)。

3.用IDE打开工程。

4.接着看代码。

Director::getInstance()->getTextureCache()->addImageAsync("Plist.png", [this](Texture2D* texture){
    SpriteFrameCache::getInstance()->addSpriteFramesWithFile("Plist.plist", texture);
    log("done");
    auto rootNode = CSLoader::createNode("MainScene.csb");
    addChild(rootNode);

    auto layer = rootNode->getChildByName<Layer*>("ProjectNode_1");
    auto pageView = layer->getChildByName<ui::PageView*>("PageView_SelectPage");
    auto leftButton = layer->getChildByName<ui::Button*>("Button_Left");
    auto rightButton = layer->getChildByName<ui::Button*>("Button_Right");

    auto layout = layer->getChildByName<ui::Layout*>("Panel_7");
    auto levelNumber = layout->getChildByName<ui::TextAtlas*>("LabelAtlas_CurrentScene");

    pageView->addEventListener([levelNumber, pageView](Ref* ref, ui::PageView::EventType type){
        if (type == ui::PageView::EventType::TURNING){
            levelNumber->setString(StringUtils::format("%d/3", pageView->getCurPageIndex() + 1));
        }
    });

    leftButton->addClickEventListener([pageView](Ref* ref){
        auto index = pageView->getCurPageIndex();
        index--;
        if (index < 0){
            return;
        }
        pageView->scrollToPage(index);
    });

    rightButton->addClickEventListener([pageView](Ref* ref){
        auto index = pageView->getCurPageIndex();
        index++;
        if (index > 2){
            return;
        }
        pageView->scrollToPage(index);
    });

});

log("loding");
原文地址:https://www.cnblogs.com/StuLiuJun/p/4966055.html