FitViewport
使用此视口并获取触摸点时,正如您在下面的第1个GIF中所看到的,子弹的方向对触摸点不准确。
StretchViewport
但是使用此视口,触摸点和项目符号方向完全固定且准确。
答案 0 :(得分:1)
您需要将屏幕坐标转换为世界空间。 如果您申请触摸位置,此代码将适用于您。
Vector3 unproject(Vector3 screenCoords,
float viewportX,
float viewportY,
float viewportWidth,
float viewportHeight);
你可以像那样使用它
Vector3 touch=camera.unproject( new Vector3( Gdx.input.getX(), Gdx.input.getY() , 0 ) ,viewportX, viewportY, viewportWidth, viewportHeight);
touch.x // translated touch x
touch.y // translated touch y
或者您也可以将viewport.unproject()用于视口,它与第一个完全相同。
答案 1 :(得分:0)
如果Camera
有Viewport
,请使用视口类方法unproject()
,而不是使用相机类。