如何获得屏幕边缘和矢量移动精灵之间的距离?我想得到我的移动精灵和屏幕边缘之间的距离,这样当我的精灵接触到边缘时它会反弹。
问问题
124 次
2 回答
0
假设这些场景,获得屏幕的边缘。
你没有使用相机。
- X 左边缘 =
0
- X 右边缘 =
Gdx.graphics.getWidth()
- Y 底边 =
0
- Y 顶边 =
Gdx.graphics.getHeight()
- X 左边缘 =
您正在使用相机(原点位于其左下角)。
- X 左边缘 =
0
- X 右边缘 =
camera.viewportWidth()
- Y 底边 =
0
- Y 顶边 =
camera.viewportHeight()
- X 左边缘 =
您正在使用相机(原点不在它的左下角-移动相机-)。
- X 左边缘 =
camera.position.x-camera.viewportWidth()/2
- X 右边缘 =
camera.position.x+camera.viewportWidth()/2
- Y 底边 =
camera.position.y-camera.viewportHeight()/2
- Y 顶边 =
camera.position.x+camera.viewportHeight()/2
- X 左边缘 =
像这样获取 spritePosition:
sprite.getX();
sprite.getY();
并检查是否正在接触其中一个边缘,将其速度更改为另一种方式。
于 2014-01-11T04:15:35.847 回答
0
基本上,如果您使用这样的正交投影:
Matrix4().setToOrtho2D(0, 0, (float) Gdx.graphics.getWidth(), (float) Gdx.graphics.getHeight());
gdx.graphics.getWidth()将返回屏幕的右边缘
0是左边缘。
要获得距离,您只需减去对象的位置即可。
于 2013-05-21T05:34:33.483 回答