我正在使用LibGDX创建游戏,游戏已经完成,但是当我开始在不同的Android智能手机上进行测试时,我发现游戏在旧版Android手机上运行没问题,比如2 ..但是当我在最新的Android版本(如3或4)上进行了测试,该框存在拖动问题,而且我真的不知道如何修复它,因为它适用于某些旧的Android版本...
这是我用来拖动InputHandler文件框的代码:
@Override
public boolean touchDragged(int screenX, int screenY, int pointer) {
miBox.onClick( screenX, screenY );
return false;
}
在框处理程序文件中:
public void onClick(int screenX, int screenY) {
if (position.y < (originalY-100)){
position.x=screenX;
}
}
我想知道它是否可能是清单文件上的问题或与之相关的事情......你怎么看?。
如果你知道我做错了什么,我希望你发表评论!感谢
答案 0 :(得分:1)
问题不在于android版本,是用android屏幕尺寸,你需要将你的屏幕坐标翻译成世界坐标。
Vector3 touchPos = new Vector3(screenX, screenY, 0);
camera.unproject(touchPos);
float x=touchPos.x, y=touchPost.y;
现在使用x和y。
并且不要忘记每帧初始化对象并不是一个好的想法,我会在某处声明我的vector3并且每帧都设置它的x y和z(z总是0)coords。