Cocos2dx:PageView实现游戏关卡

Cocos2dx:PageView实现游戏关卡,第1张

概述PageView实现游戏关卡:实现类似android平台下的viewpager #ifndef __LevelLayer_SCENE_H__#define __LevelLayer_SCENE_H__#include "cocos2d.h"#include "ui/CocosGUI.h"#include "LevelBaseLayer.h"USING_NS_CC;using na

PageVIEw实现游戏关卡:实现类似androID平台下的vIEwpager

#ifndef __LevelLayer_SCENE_H__#define __LevelLayer_SCENE_H__#include "cocos2d.h"#include "ui/CocosGUI.h"#include "LevelBaseLayer.h"USING_NS_CC;using namespace cocos2d;using namespace ui;class WorldBaseLayer;class LevelLayer : public Layer{public:    static cocos2d::Scene* createScene();        LevelLayer();    ~LevelLayer();        virtual bool init() overrIDe;    voID pageVIEwEvent(Ref* pSender,PageVIEwEventType type);        CREATE_FUNC(LevelLayer);      private:};#endif // __LevelLayer_SCENE_H__

#include "LevelLayer.h"USING_NS_CC;//关卡LevelLayer::LevelLayer(){};LevelLayer::~LevelLayer(){};Scene* LevelLayer::createScene(){    // 'scene' is an autorelease object    auto scene = Scene::create();        // 'layer' is an autorelease object    auto layer = LevelLayer::create();        // add layer as a child to scene    scene->addChild(layer);        // return the scene    return scene;}bool LevelLayer::init(){    if ( !Layer::init() )    {        return false;    }        scheduleUpdate();        Size visibleSize = Director::getInstance()->getVisibleSize();    Vec2 origin = Director::getInstance()->getVisibleOrigin();    Size winSize = Director::getInstance()->getWinSize();        PageVIEw *pageVIEw=PageVIEw::create();    pageVIEw->settouchEnabled(true);    pageVIEw->setSize(Size(winSize.wIDth,winSize.height));    pageVIEw->setposition(Point(0,0));        //创建4个page    for (int i=0; i<4; i++) {        Layout* layout = Layout::create();        layout->setSize(Size(winSize.wIDth,winSize.height));                ImageVIEw* imageVIEw = ImageVIEw::create(StringUtils::format("world_map.jpg"));        imageVIEw->setScale9Enabled(true);        imageVIEw->setSize(Size(400,400));        imageVIEw->setposition(Point(layout->getContentSize().wIDth / 2.0f,layout->getContentSize().height / 2.0f));        layout->addChild(imageVIEw);                Text* label = Text::create(StringUtils::format("page %d",i),"Fonts/Marker Felt.ttf",30);        label->setcolor(color3B(192,192,192));        label->setposition(Point(layout->getContentSize().wIDth / 2.0f,layout->getContentSize().height / 2.0f));        layout->addChild(label);                pageVIEw->addPage(layout);            }    pageVIEw->addEventListenerPageVIEw(this,pagevIEweventselector(LevelLayer::pageVIEwEvent));        this->addChild(pageVIEw);        return true;}voID LevelLayer::pageVIEwEvent(Ref* pSender,PageVIEwEventType type){        switch (type) {        case PAGEVIEW_EVENT_TURNING:        {            PageVIEw* pageVIEw = dynamic_cast<PageVIEw*>(pSender);            log("pageVIEw->getCurPageIndex() = %ld",pageVIEw->getCurrentPageIndex() + 1);        }            break;                                default:            break;    }}
总结

以上是内存溢出为你收集整理的Cocos2dx:PageView实现游戏关卡全部内容,希望文章能够帮你解决Cocos2dx:PageView实现游戏关卡所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1079415.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存