关于cocos2d::extension::ScrollView视图学习及测试
来源:互联网 发布:gta5没有网络可以玩吗 编辑:程序博客网 时间:2024/06/06 00:38
首先引入包含control控件所需声明的头文件和命名空间,#include "extensions/cocos-ext.h" using namespace extension;
自定义类,公有继承自 Layer 、ScrollViewDelegate,见以下代码:
OtherGUILayer.hpp
#ifdef OtherGUILayer_hpp#define OtherGUILayer_hpp#include "cocos2d.h"USING_NS_CC;#include "extensions/cocos-ext.h"using namespace extension;class OtherGUILayer: public Layer,public ScrollViewDelegate{public: static Scene* createScene(); virtual bool init()override; CREATE_FUNC(OtherGUILayer);public: virtual void scrollViewDidScroll(extension::ScrollView* view); virtual void scrollViewDidZoom(extension::ScrollView* view);public: //测试ScrollView void addScrollView();};#endif
OtherGUILayer.cpp#include "OtherGUILayer.hpp"#define WINSIZE Director::getInstance()->getWinSize()Scene* OtherGUILayer::createScene(){ auto scene = Scene::create(); auto layer = OtherGUILayer::create(); scene->addChild(layer); return scene;}bool OtherGUILayer::init(){ if(!Layer::init()){ return false; } auto bg = LayerColor::create(Color4B::YELLOW); this->addChild(bg); this->addScrollView(); return true;}void OtherGUILayer::addScrollView(){ auto sp = Sprite::create("HelloWorld.png"); //获取原图片的大小 auto size = sp->getContentSize(); //获取图片实际大小 //auto size1 = sp->getBoundingBox(); auto container = Layer::create(); container->setContentSize(Size(size.width*10,size.height)); for(int i = 0;i<10;i++){ auto label = Label::create(); label->setString(StringUtils::format("%d",i)); label->setSystemFontSize(80); label->setColor(Color3B::RED); label->setPosition(Vec2(size.width/2*(i+1),size.height/2)); container->addChild(label); } //参数 大小 可视区域内容 auto scrollView = ScrollView::create(size,container); scrollView->setPosition(WINSIZE/2.0f); this->addChild(scrollView); //设置滑动方向 scrollView->setDirection(ScrollView::Direction::HORIZONTAL); //是否开启弹性效果 scrollView->setBounceable(true); //设置代理 scrollView->setDelegate(this);}void OtherGUILayer::scrollViewDidScroll(ScrollView* view){ //获取偏移 auto offset = view->getContentOffset(); CCLOG("offset x = %f,y = %f",offset.x,offset.y);}void OtherGUILayer::scrollViewDidZoom(ScrollView* view){ //获取缩放 auto scale = view->getZoomScale(); CCLOG("scale:%f",scale);}
阅读全文
0 0
- 关于cocos2d::extension::ScrollView视图学习及测试
- 关于cocos2d::extension::ScrollView
- Cocos2d-x关于ScrollView
- php的sphinx extension安装及测试
- cocos2d-x3.0 关于ScrollView的使用
- Android学习笔记:ScrollView卷轴视图
- Android学习笔记(31):滚动视图ScrollView
- android学习日记:关于ScrollView
- UIView+Extension"推出视图"
- android 滚动视图(ScrollView)学习与应用
- iOS学习笔记——滚动视图(scrollView)
- iOS学习笔记——滚动视图(scrollView)
- IOS UI学习 ScrollView中Touch事件作用子视图
- iOS学习笔记——滚动视图(scrollView)
- IOS UI学习 ScrollView中Touch事件作用子视图
- cocos2d-js ScrollView,ccui.ScrollView
- ScrollView测试
- Cocos2d-x的学习之旅(八)ScrollView
- java 中负数取模
- RabbitMQ队列与消息的持久化
- springMVC学习笔记(一)-----springMVC原理
- MOOC清华《面向对象程序设计》第2章:初始化列表实验
- Java IO之File
- 关于cocos2d::extension::ScrollView视图学习及测试
- pip安装django失败
- 2003
- JAVA 通过 Socket 实现 TCP 编程
- 火狐下正常,谷歌、360下js中提示Uncaught TypeError: XXX is not a function
- 修改win10我的文档下载等移动别处
- 并查集例题一
- Oracle SQL:经典查询练手第一篇(1)
- Realm基本知识