cocos2d-x UI控件 以及 cocostudio UI编辑器 注意细节
来源:互联网 发布:qq透明皮肤软件下载 编辑:程序博客网 时间:2024/05/16 00:55
完成第一个小游戏MoonWarrior之后,就开始和UI撕扯不清了,最近一直让做UI界面,这个做完做那个,实现也没什么难度,但就是耗时间,而且windows平台下开发,cocostudio UI编辑器被各种吐槽,但也没办法,吐槽过后还是得继续使用,各种大神都是在Mac平台下开发的,我也想试试呢,虽然换个平台我就是个连工具都不会用的超级菜鸟了...
下面我就说点这段时间碰到的一些问题吧
1.cocostudio UI编辑器提供的输入框UITextField不带光标
这个真心很尴尬,这样用户怎么知道自己已经点中了可以输入了呢,网上虽然有不少提问这方面问题的,可完全没有根本的解决方案,群里也讨论过这个问题,基本上是大神们花时间重写控件,出于立场成了保密资料,所以到现在也没有开源的源码可供参考使用。我还是个菜鸟,当然不可能写出这么高端的源码,只是用了治标的方法表面上解决了这个问题,网上有个大大的博客写了带光标的输入框(这个大大很眼熟吧,MoonWarrior中背景的滚动我们也参考了他的博客),利用这个大大写的控件,将该控件覆盖在获取的UITextField控件上,并将UITextField控件隐藏,这样就形成了假象的带光标的UI输入框
带光标的输入框,请参考:http://blog.csdn.net/onerain88/article/details/7572315
2.cocostudio UI编辑器提供的滑动层UIScrollView注意事项
在cocostudio UI编辑器中滑动层UIScrollView一定要注意不要忘记设置两个属性,子控件布局和特性中的滑动方向。滑动方向不用多说了,就是设定滑动层上下滑动还是左右滑动,子控件布局要与此想对应,上下滑动的就要选线性纵向,左右滑动的就要选线性横向,这样在你对滑动层UIScrollView中的控件进行增加和删除时,UIScrollView才能自动对控件的位置进行改变,如果还是不行,我们可以调用UIScrollView的setInnerContainerSize()方法,让其刷新。
最后对于UIScrollView我们还有一个要注意的地方,当对一个UI控件调用clone()方法时,不管是该控件中包含UIScrollView控件还是该控件就是UIScrollView控件,clone()方法都会调用 父类UIWidget::clone(),这个时候UIScrollView所含有的一些特性属性就会丢失,需要对克隆得到的UIScrollView的特性属性进行设置,如setLayoutType()。
3.当我们有如下图情况时,控件C包含控件B,控件B包括控件A
当我们通过点击控件A来删除控件C中的控件B时,直接在控件A的回调函数中删除是不可以的,因为当前帧你还在使用该控件,所以无法删除该控件或者该控件的parent,有两种方法可以解决:
a.利用scheduleOnce()函数,延迟删除
b.将要删除的对象加入删除数组中,在下一帧进行删除,即调用update()函数
差不多碰到的问题就这么多,如果有新的需要注意的地方,会添加更新的,以便和大家参考
- cocos2d-x UI控件 以及 cocostudio UI编辑器 注意细节
- Cocos2d-x UI以及控件
- cocos2d-x & CocoStudio UI使用
- CocoStudio UI编辑器基础
- cocos2d-x的lua脚本如何获得Cocostudio中UI控件的对象
- cocos2d-x的lua脚本如何获得Cocostudio中UI控件的对象
- COCOS2D-X UI控件使用
- cocos2d-x中使用cocostudio制作的场景或UI
- CocoStudio 《UI编辑器》 教程(转)
- cocoStudio UI编辑器 学习总结
- CocoStudio UI编辑器 学习总结
- cocoStudio UI编辑器 学习总结
- cocoStudio UI编辑器 学习总结
- CocoStudio UI 编辑器的使用
- CocoStudio UI编辑器自定义插件
- cocos2d-x高级UI控件详细介绍
- cocos2d-x-3.13\cocos\ui控件Button
- cocos2d-x-3.13\cocos\ui控件CheckBox
- PHP 与 js 的交互
- 观察者设计模式( Observable类Observer接口)
- oracle同时添加多个字段-案例
- 浪擎科技D系实时备份系统技术白皮书
- 构造器初始化
- cocos2d-x UI控件 以及 cocostudio UI编辑器 注意细节
- 浙大 pat Basic Level 1002
- iconv_linux下字符集编码转换轻松实现(转帖)
- DeployGate iOS版使用说明
- 程序员的奋斗史(三十三)——人在囧途之应聘篇(三)
- Unable to resolve target 'android-i'
- Window_Open详解
- 云计算的三种服务模式:IaaS,PaaS和SaaS
- 泛型和容器(1)——Collection接口和容器的打印