Math 随着摄影机的缩放,矩形应进行修改

Math 随着摄影机的缩放,矩形应进行修改,math,camera,libgdx,Math,Camera,Libgdx,我目前正在做我在Libgdx的第一个游戏。我做了很多,但现在有一个问题 我已经将放大/缩小效果设置为网格(比如6x7)。我希望矩形大小相应。i、 e.矩形尺寸应随摄像机变焦率增加/减少 说。。矩形设置为(100100,宽度,高度),camera.zoom=1(默认值) 相机后。缩放=0.3矩形设置为相同位置 我希望矩形以缩放比例进行变换。我不知道我应该改变多少。 我不使用场景2D。我使用手势监听器进行缩放 public boolean zoom(float initialDistance, fl

我目前正在做我在Libgdx的第一个游戏。我做了很多,但现在有一个问题

我已经将放大/缩小效果设置为网格(比如6x7)。我希望矩形大小相应。i、 e.矩形尺寸应随摄像机变焦率增加/减少

说。。矩形设置为(100100,宽度,高度),camera.zoom=1(默认值)

相机后。缩放=0.3矩形设置为相同位置

我希望矩形以缩放比例进行变换。我不知道我应该改变多少。 我不使用场景2D。我使用手势监听器进行缩放

public boolean zoom(float initialDistance, float distance){
    float ratio = initialDistance / distance;
    camera.zoom= initialScale * ratio;
}

实际上,当相机变焦时,您不想更改
矩形。在真实相机上使用变焦时,汽车、人或树的大小也不会改变

您需要的是根据当前的缩放级别更改输入坐标。你可以为此目的使用

可能是这样的:

Camera cam = ...;
Vector3 worldTouchPoint = new Vector3(touchX, touchY, 0);
cam.unproject(worldTouchPoint);

之后,您可以使用worldTouchPoint检查与(未修改的)矩形的碰撞。

您的相机应该为您进行这些变换。更改缩放级别后,请确保使用camera.update()。请在您的问题中添加一些代码。否则我们帮不了你。您希望以不同的方式渲染,还是在输入捕获方面存在问题?你用舞台吗。。。我添加了缩放代码,效果很好。我不用舞台,什么不起作用?你的实际问题是什么?没有缩放,我的矩形可以检测接触点。但是在放大/缩小后,它们没有。我会给你一个图片的链接,以使我的问题清楚,以防你不明白。我对stackoverflow也是新手。