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