cocos2d-x平台下面,CCEditBox常用来 做输入框,但是有时候在移植到安卓平台下面的时候,会出现位置不对的情况,研究了下,原因如下:
安卓和ios的CCEditBox都是分别调用相应的平台控件实现的
1. 安卓下面的是 使用的相对坐标,其实跟其他的 cocos2d-x一样定位就好了,不需要特殊处理。
2. ios下面是使用的全局坐标,针对整个屏幕定位即可。
针对这两种情况,其实我的解决方法就是 通过 宏来 定制 平台相关的代码。
假如我的Ios平台版本定义了 宏 OSX,那么我的代码如下:
//add input 默认锚点(0.5,0.5),修改也没用,然后这个坐标不能用基于layer的
//坐标,必须用 基于屏幕的坐标
m_tf_input = CCEditBox::create(CCSizeMake(280 * 0.5, 60* 0.5), CCScale9Spr