操作系统:android10
creator版本:2.3.3
测试机型:google google pxl,huawei
思路:
1.在js脚本里获取点击的editbox的世界坐标,在把世界坐标转为手机实际的坐标
2.在android端动态调整GLSurfaceView的Y坐标
3.隐藏掉那个自带的输入框
js端代码:
cc.EditBox.prototype._onTouchBegan=function(event){
let touch=event.touch
let node=event.target
let upLoadY=touch.getLocationY()
let nodePos=node.convertToNodeSpaceAR(touch.getLocation())
upLoadY-=nodePos.y+node.height/2
` if(cc.sys.os==cc.sys.OS_ANDROID){
jsb.reflection.callStaticMethod("org/cocos2dx/javascript/AppActivity", "upLoadEditBoxY", "(Ljava/lang/String;)V",upLoadY*cc.view.getScaleY())
}else{
}
}
android端代码
Cocos2dxActivity.java
添加接收js端传过来的变量
public static float mEditBoxY=0;