LibGDX unProject returns 错误的值
LibGDX unProject returns wrong values
我正在开发一款游戏,我需要将鼠标坐标转换为世界坐标。问题是我无法取消投影。当我点击 origin 时,它 returns 一个关于 ( 4,-61) 的值。值接近预期但不正确。可能是什么问题?
编辑:
camera.position
Returns
[0.0, -960.0, 0.0]
camera.unproject( new Vector3(Gdx.graphics.gedWidth()/2, Gdx.graphics.getHeight()/2, 0))
returns
[319.99997, 238.99998, 0.0]
当我点击原点时,我用一个不投影的矩形指向 returns
[0.77363586, -105.15996, 0.0]
我的第一次尝试可能是错误的但是点击原点时Y值unprojecting有问题
编辑 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。那解决了所有问题
我正在开发一款游戏,我需要将鼠标坐标转换为世界坐标。问题是我无法取消投影。当我点击 origin 时,它 returns 一个关于 ( 4,-61) 的值。值接近预期但不正确。可能是什么问题?
编辑:
camera.position
Returns
[0.0, -960.0, 0.0]
camera.unproject( new Vector3(Gdx.graphics.gedWidth()/2, Gdx.graphics.getHeight()/2, 0))
returns
[319.99997, 238.99998, 0.0]
当我点击原点时,我用一个不投影的矩形指向 returns
[0.77363586, -105.15996, 0.0]
我的第一次尝试可能是错误的但是点击原点时Y值unprojecting有问题
编辑 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。那解决了所有问题