java - LibGDX 拖拽最新的 Android 版本

标签 java android libgdx drag

我正在使用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/

相关文章:

libgdx - Scene2d.ui 窗口的顶部颜色?

Java - 操作顺序 - 在一行中使用两个赋值运算符

Android通知栏按钮变得没有响应

java - 如何在用户编辑后获取 EditText 的值?

java - 在 LibGDX 中使用抽象屏幕

java - 我正在尝试在我的游戏屏幕(用户玩游戏的地方)上创建一个暂停屏幕

java - 减少应用程序中的数据使用量支持离线模式

java - 从 RPG 调用 Java,找不到我的 Java 类

Java 进程在重负载下不会在 SIGTERM 上退出

java - 构建应用程序包时,gradle 脚本不起作用