3
我一直在试图理清CameraInputController的缩放缩放。我想它和出产地的放大,但3和10之间为界,我把这段代码在变焦()函数:如何限制在libGDX捏缩放?
public boolean zoom (float amount) {
if(camera.position.len() < 3 && amount > 0)
{
return false;
}
if(camera.position.len() > 10 && amount < 0)
{
return false;
}
if (!alwaysScroll && activateKey != 0 && !activatePressed)
return false;
Gdx.app.log("zoom", amount + "");
camera.translate(tmpV1.set(camera.direction).scl(amount));
if (scrollTarget)
target.add(tmpV1);
if (autoUpdate)
camera.update();
return true;
}
,如果我工作正常只需调用缩放功能(例如变焦按钮),但是当我缩小变焦时,相机可以在3倍的范围内变焦,而当变焦距变近时,相机会跳得非常快。奇怪的是,如果我没有这些限制,捏缩放非常流畅。
如果我输出量变量,再捏缩放给了我相当多的数字范围,这样的变焦时指出:
-3.4762511
3.425479
-3.386308
3.353984
,并在此缩放时:
3.6231816
-3.553997
3.8673449
-3.81199
当我查看CameraGestureListener中的zoom()函数,其中的数值也是变化的负载。如果我查看pinch()函数,那么每次调用pointer2位置时,都会在第一个和第二个手指的位置之间交替。
这可能是一个错误?任何人都知道发生了什么?我该如何解决这个问题?
你可以发布演示项目吗?我无法重现这个问题。 – pr0gramist