cocos2d-x CCEditBox使用陷阱
来源:互联网 发布:移动签到软件 编辑:程序博客网 时间:2024/05/22 14:17
严格说来,这个不能算cocos2d-x CCEditBox的bug。但是使用时不注意,确实会被一些恶心的问题纠结掉。
CCEditBox的原理是结合系统原生控件和cocos2d-x自带的CCLabelTTF,实现输入和显示效率的完美结合。需要输入的时候显示的是系统控件,可以兼容各种输入法,平常显示时使用的是CCLabelTTF。
我在测试的时候,发现iOS版本CCEditBox使用时,弹出输入框无法显示系统原生控件。按理说,控件的功能应该是正常的,那么就肯定是使用时有哪里使用错了。
经过将近一个小时的debug,发现是我自己的一套ui系统使用了非(0, 0)的锚点,但是CCEditBox在更新系统控件坐标的时候又不支持锚点计算。所以导致计算的坐标是错误的,于是无论怎样都无法显示出来。
CCEditBox在使用时需要注意:1、它的坐标更新是依赖于父窗口的,所以如果父窗口要有什么移动动画就需要注意在动画播放结束更新下CCEditBox的坐标。
2、所有包含CCEditBox的ui都不能使用非(0, 0)的锚点。 这个也是cocos2d默认在CCLayer和CCScene关闭锚点的原因。如果使用了锚点,那么在子控件计算全屏坐标时就无法取到正确的结果。
最后吐槽下cocos2d的这套坐标系统。看着花哨,用着不爽,我想获取一个实际屏幕显示坐标都非常麻烦。各种节点的嵌套关系再加上锚点,完全是一团乱麻。虽然完全理解后,所有的操作都是可行的,而且不是困难的。但是如果你真的完全理解了它的坐标系的话,那么你就不是一个菜鸟程序员了,而是一个熟悉cocos2d的高级程序员了。
- cocos2d-x CCEditBox使用陷阱
- cocos2d-x CCEditBox使用陷阱
- cocos2d-x CCEditBox使用陷阱
- cocos2d-x CCEditBox使用
- cocos2d-x 输入框CCEditBox的使用
- Cocos2d-x CCEditBox & CCTextFieldTTF
- Cocos2d-x CCEditBox & CCTextFieldTTF
- Cocos2d-X中的CCEditBox
- cocos2d-x CCTextFiledTTF , CCEditBox
- Cocos2d-x中编辑框CCEditBox的使用
- Cocos2d-x中编辑框CCEditBox的使用
- Cocos2d-x CCEditBox 编辑框
- cocos2d-X CCEditBox登陆框
- cocos2d-x控件CCEditBox详解
- cocos2d-x之码农工作笔记CCEditBox
- 7 cocos2d-x CCEditBox 编辑框
- Cocos2d-x学习笔记(11)(CCEditBox编辑框)
- 6、Cocos2d-X 游戏编程之------CCEditBox的实现
- FileUpload控件
- MFC 界面风格问题
- 求解最长回文子串的暴力求解
- 点对点通信过程报文组装流程
- 嵌入式ARM设计历程(二)
- cocos2d-x CCEditBox使用陷阱
- 字符串的一些操作
- .net 批量上传文件代码
- 《推荐系统实践》阅读笔记二 利用用户标签进行推荐
- linux学习之dnw使用
- 在win7系统中安装SQL2005出现29506错误码的解决方案
- IP数据包格式
- 华为 2014 机试题
- 泛泰btnvtool蓝牙工具的使用