java - LibGDX unProject 返回错误值

标签 java libgdx

我正在开发一个游戏,我需要将鼠标坐标转换为世界坐标。问题是我无法取消项目。当我单击原点时,它返回一个大约 (4,-61) 的值。值接近预期但不正确。可能是什么问题?

编辑:

camera.position

返回

[0.0, -960.0, 0.0]

camera.unproject( new Vector3(Gdx.graphics.gedWidth()/2, Gdx.graphics.getHeight()/2, 0))

返回

[319.99997, 238.99998, 0.0]

当我点击用矩形非投影返回的原点时

[0.77363586, -105.15996, 0.0]

我的第一次尝试可能是错误的,但是点击原点时未投影的Y值有问题

编辑2:

这是有问题的最简单的代码:

public boolean touchDown(int x, int y, int pointer, int button){

    camera.update();

    lastTouch = camera.unproject(new Vector3(x, y, 0));

    return true;
}

这里lastTouch的位置不正确

最佳答案

应该调用viewport#project,而不是camera#project。这解决了所有问题

关于java - LibGDX unProject 返回错误值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30623009/

相关文章:

android - "Failed to sign in"谷歌玩游戏服务

java - 如何使用 Dockerfile 安装特定版本的 Java 8

java - 您如何检查 Realm 实例是否已经关闭?

Java LibGdx 2d 地形生成器

java - LibGDX - 导入JAVA默认的JSON库

android - 计算透视相机的视锥体 FOV

java - Gradle 构建错误 : Unable to load Maven meta-data from https://repo1. maven.org/maven2/io/fabric/tools/gradle/maven-metadata.xml

java - Android:OnClickListener 在初始加载时无响应?

java - libgdx 文本字段中的特殊字符不起作用

java - libGDX:如何检测滚动 Pane 是否在最大 Y 处滚动?