Cocos2d-x 3.0 开发(十四)使用UIScrollView 实现大小不同物品拖动展示
2013-12-12 19:15
369 查看
1、概述
UI部分一直是cocos2d-x的弱项,而这种境况在3.0版本中将得到改善。让我们从一个曾经的坑入手,来看看这些新特性。大家都知道,有个这样一个坑叫做CCTableView。它的作用是来创建一个可拖动的view,来进行展示。但它有的问题是只能创建等宽等高的一组元素,这就出现问题了。比如一个聊天下拉框,总不能限制人说话的长度吧….. 所以它的存在聊胜于无,不断被吐槽。让我们看看新版中这个问题是如何处理的,先上个图:
2、创建ScrollView
打开CocoStudio的UI编辑器,创建一个新工程,在画布列表中将名字更为:“ScrollView”然后在侧边栏中找到“滚动层”,拖动到编辑界面上。调整区域的大小,在属性->尺寸和模式进行调整。注意不要直接拖动边框,那样只会改变缩放比 -_- b
然后在滚动层中拖入子button,并设置它们的基本属性:名称点击图片之类的。创建部分有不明白的童鞋可以看先前的: Cocos2d-x 3.0 开发(四)使用CocoStudio创建UI并载入到程序中
创建了一堆控件:
3、设置ScrollView属性
选中ScroView在它的属性中做如下配置:我们注意到,其中重要的参数有两个。
滑动方向我们可以设置:水平、竖直、两种都有。这里我们选择水平。区域宽度是可滑动区域的大小,如果不更改默认是与View区域等大,这时是不能滑动的。我们将其更改为1000,会发现在先前的区域外有增大的一部分。
接下来我们在增大的区域中添加我们需要的物品。另外有个细节,就是我们将滑动区域边缘的物体调成有一部分超出界限,这样就会给用户可拖动的暗示。
最后记得勾选模拟裁切,否则的话,View扩展区域的东西是会显示出来的。
保存工程,导出我们的文件。
4、加载到程序
运行脚本新建一个程序:testScrollView。添加库依赖,忘记添加方法的同学可以参照:Cocos2d-x 3.0 开发(十一)3.0 alpha1文件结构变化
更改Init方法:
bool HelloWorld::init() { ////////////////////////////// // 1. super init first if ( !Layer::init() ) { return false; } Size visibleSize = Director::getInstance()->getVisibleSize(); Point origin = Director::getInstance()->getVisibleOrigin(); auto widget = dynamic_cast<gui::UILayout*>(cocostudio::GUIReader::shareReader()->widgetFromJsonFile("ScrollView.json")); auto layer = gui::UILayer::create(); layer->addWidget(widget); this->addChild(layer); return true; }
编译运行。
5、总结
通过UIScrollView我们可以轻松的实现拖动展示的功能。在编辑器中将其摆放好、导出、加载到程序即可。PS:我怎么感觉导出的文件加载后有些偏啊?是我的错觉么⊙﹏⊙bDemo下载:http://download.csdn.net/detail/fansongy/6704997
本篇博客出自阿修罗道,转载请注明出处,禁止用于商业用途:/article/1383418.html
相关文章推荐
- Cocos2d-x 3.0 开发(十四)使用UIScrollView 实现大小不同物品拖动展示
- 实习小白::(转) Cocos2d-x 3.0 开发(十四)使用UIScrollView 实现大小不同物品拖动展示
- iPhone开发之UIScrollView滚动组件的使用(一) 拖线实现——大图的移动展示
- 李洪强iOS开发之后使用XIB实现横向滚动的UIScrollView
- iOS开发中使用UIScrollView实现图片轮播和点击加载
- iPhone开发之UIScrollView滚动组件的使用(三) 拖线实现按钮控制大图移动之contentInsets增加内容边距
- iPhone开发之UIScrollView滚动组件的使用(二) 拖线实现按钮控制大图移动利用contentOffset属性
- iPhone开发之UIScrollView滚动组件的使用(六)通过代理实现手势缩放——(拖线实现)
- iPhone开发之UIScrollView滚动组件的使用——纯代码实现图形的横向与纵向滚动
- iOS应用开发中使用UIScrollView控件来实现图片缩放
- iPhone开发之UIScrollView滚动组件的使用(七)利用NSTimer计时器和UIPageControl组件代码实现图片轮播器
- iPhone开发之UIScrollView滚动组件的使用(四) 拖线实现 喜马拉雅案例
- Cocos2d-JS中CollectionView实现不同大小Cell同时显示的技巧(ListView中添加显示标签)
- Cocos2d-x 3.0开发(六)使用cocoStudio创建一个骨骼动画
- 使用RecycleView实现动态获取数据展开二级列表展示
- Android开发本地及网络Mp3音乐播放器(十六)歌词显示及滚动事件实现、ViewPager使用
- IOS开发UI控件<UIScrollView>和Delegate的使用
- Android开发——使用高级的RecyclerView实现侧滑菜单删除功能(SwipeRecyclerView)
- Android中如何使用ViewPager实现类似laucher左右拖动效果
- Android中如何使用ViewPager实现类似laucher左右拖动效果