【发布时间】:2014-09-17 06:41:08
【问题描述】:
我有一个碰撞矩形(libgdx 一个,不是 awt)设置为球的坐标。我想做的是检查我是否点击了它。两个问题:
a.) 我不知道矩形坐标的原点在哪里。
b.) 我找不到修正水龙头位置的正确方法。
我能做什么?
根据请求编辑:
public void create() {
camera = new OrthographicCamera(Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
...
camera.unproject(tmpPos);
}
public void render() {
if (Gdx.input.isTouched()) {
float x = Gdx.input.getX();
float y = Gdx.input.getY();
tmpPos.set(x, y, 0);
camera.unproject(tmpPos);
// now the world coordinates are tmpPos.x and tmpPos.y
if (target.contains(tmpPos.x, tmpPos.y)) {
System.out.println("Touched. ");
score++;
}
System.out.println("Score: " + score + "..." + "X: " + (int) tmpPos.x + "...Y: " + (int) tmpPos.y);
...
}
【问题讨论】:
-
1.)
setOrigin(0, 0);2.) stackoverflow.com/questions/24501268/… -
虽然从技术上讲,如果您使用
Camera而不是您自己的Matrix3进行正交变换,那么我认为camera.unproject()可以为您提供水龙头的坐标。 -
感谢您的回复。我会看看,并尽可能尝试这些。
标签: java libgdx coordinates