获取精灵和屏幕的距离

时间:2013-05-16 06:26:16

标签: java libgdx game-physics

如何获得屏幕边缘与矢量移动精灵之间的距离?我希望得到我的移动精灵和屏幕边缘之间的距离,这样当我的精灵接触边缘时它就会反弹。

2 个答案:

答案 0 :(得分:0)

基本上如果你使用这样的ortho2D投影:

Matrix4().setToOrtho2D(0, 0, (float) Gdx.graphics.getWidth(), (float) Gdx.graphics.getHeight());

Gdx.graphics.getWidth()会返回屏幕的右边缘

0 是左边缘。

要获得距离,您只需要减去对象的位置。

答案 1 :(得分:0)

为了让屏幕边缘呈现这些情景。

  • 您没有使用相机

    • X left edge = 0
    • X右边缘= Gdx.graphics.getWidth()
    • Y底边= 0
    • Y top edge = Gdx.graphics.getHeight()
  • 您正在使用相机(原点位于其左下角)

    • X left edge = 0
    • X右边缘= camera.viewportWidth()
    • Y底边= 0
    • Y top edge = camera.viewportHeight()
  • 您正在使用相机(原点不在它的左下方 - 移动相机 - )

    • X left edge = camera.position.x-camera.viewportWidth()/2
    • X右边缘= camera.position.x+camera.viewportWidth()/2
    • Y底边= camera.position.y-camera.viewportHeight()/2
    • Y top edge = camera.position.x+camera.viewportHeight()/2

像这样获取spritePosition:

sprite.getX();
sprite.getY();

检查是否接触到其中一条边,将其速度改为另一条边。