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实现游戏关卡所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)