cocos2d-x 3.x pageView的使用
来源:互联网 发布:店铺缴费软件 编辑:程序博客网 时间:2024/06/05 00:26
我们要做的效果和捕鱼达人关卡选择效果是一样的,我们先看下做好的效果:
实现滑动并不难,在这里我们需要用到pageView类,它跟我们在前面一篇写的进度条LoadingBar类一样都是属于CocosGUI里的控件工具类,所以在用他们之前必须先包含头文件和命名空间。
首先看头文件
#ifndef _MYGAME_H_#define _MYGAME_H_#include "cocos2d.h"#include "ui/CocosGUI.h"USING_NS_CC;using namespace ui;#definepWidth240#definepHeight160class MyGame : public Layer{public://静态方法创建一个场景static Scene* createScene();//初始化virtual bool init();//回调函数void JumpSceneCallback(Ref* pScene);//create函数CREATE_FUNC(MyGame);virtual bool onTouchBegan(Touch *touch, Event *unused_event);virtual void onTouchEnded(Touch * touch, Event * unused_event);void initRole();static Scene* createS();void initS();privated:PageView*pageView;Vec2ClickBeganPos; //点击的坐标};在看cpp文件实现
bool MyGame::init(){if(!Layer::init()){return false;}//触摸事件监听auto lisent = EventListenerTouchOneByOne::create();lisent->onTouchBegan = CC_CALLBACK_2(MyGame::onTouchBegan, this);lisent->onTouchEnded = CC_CALLBACK_2(MyGame::onTouchEnded, this);Director::getInstance()->getEventDispatcher()->addEventListenerWithSceneGraphPriority(lisent, this);//滑动关卡Size WinSize = Director::getInstance()->getWinSize();pageView = PageView::create();pageView->setSize(Size(WinSize.width, WinSize.height));pageView->setPosition(Vec2::ZERO);//8个滑动选项卡for (int i = 0; i < 8;i++){auto layout = Layout::create();layout->setSize(Size(WinSize.width, WinSize.height));auto imageView = ImageView::create("bug886.png");imageView->setSize(Size(pWidth, pHeight));imageView->setPosition(Vec2(layout->getSize().width / 2, layout->getSize().height / 2));layout->addChild(imageView);auto label = Label::create(StringUtils::format("Level 0%d", i), "Arial", 46);label->setColor(Color3B(192, 192, 192));label->setPosition(Vec2(layout->getSize().width / 2, layout->getSize().height / 2));layout->addChild(label);pageView->addPage(layout);}
//滑动监听pageView->addEventListenerPageView(this, pagevieweventselector(MyGame::JumpSceneCallback));this->addChild(pageView);
<pre name="code" class="html"> pageView->scrollToPage(3);//默认显示指定项
return true;}
bool MyGame::onTouchBegan(Touch *touch, Event *unused_event){return true;}void MyGame::onTouchEnded(Touch * touch, Event * unused_event){}
void MyGame::JumpSceneCallback(Ref* pScene){}具体触摸的以及回调函数实现什么功能就自己根据自己需要相应的添加。
1 0
- cocos2d-x 3.x pageView的使用
- Cocos2d-x PageView的使用
- 详解quick-cocos2d-x pageview的demo
- cocos2d-x 3.0 PageView、ListView
- 使用cocos-2dx 3.x 封装的PageView
- 使用cocos-2dx 3.x 封装的PageView
- 【cocos2d-x 3.5】Lua 加载cocostudio的PageView
- cocos2d pageView的使用
- cocos2d-x pageView左右循环滑动
- cocos2d-x 3.x DrawNode的使用
- 升级到cocos2d-x 3.10之后被遗忘的ccui.PageView.pageTurningEvent()
- cocos2d-x v3.10之ccui.PageView 翻页实现
- cocos2d-x v3.10 lua PageView测试实例
- Cocos2d-x-3. X使用自带的物理引擎
- Cocos2d-x 2.x:CCTableView的使用
- cocos2d js 3.2PageView的简单使用
- cocos2d js-3.2 PageView的简单使用
- cocos2d-x 3.X 使用Scale9Sprite
- Mybatis入门配置及基本查询
- FMDB简介
- 全国首堂沉浸式教学系统实验课开启了虚拟现实教育的新纪元
- 图像分割——区域生长法
- 第一篇博客
- cocos2d-x 3.x pageView的使用
- 如何在Windows系统中设置Python程序定时运行
- 常用的View(一)——标题栏渐变、伸缩的TextView、圆形头像、选图截图等功能的实现
- iOS UIMenuController简介
- GridView的简单使用
- js第七节-运算符,流程控制
- 图的STL邻接表表示
- leetcode Roman to Integer(13)
- Unity frameIndex = (int)(timer / (1f / framePerSecond));