我正在使用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;
}
}
我想知道这是否可能是 list 文件或与之相关的问题......您觉得怎么样?
如果您知道我可能做错了什么,我希望您发表评论!谢谢
最佳答案
问题不在于 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)每一帧的坐标。
关于java - LibGDX 拖拽最新的 Android 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25944088/