protected boolean pinchZoom (float amount) { if(rho>25.f && rho<60.f){ return zoom(pinchZoomFactor * amount); } camera.update(); rho = calculateRho(); if(rho<=25.0){ while(rho<=25.0){ zoom(-.1f); camera.update(); rho = calculateRho(); } } if(rho>=60){ while(rho>=60.0){ zoom(.1f); camera.update(); rho = calculateRho(); } }}private float calculateRho(){ return (float) Math.sqrt(Math.pow(camera.position.x,2)+ Math.pow(camera.position.y,2)+Math.pow(camera.position.z,2)); }
使用这个代码我的相机有时会摇晃一下.所以,我找到另一种方式.
解决方法 我找到了解决方案.我只是声明变量,它将输入变量总和,然后检查该值的范围.float currentZoom=0;private final float maxZoom = .5f;private final float minZoom = -2.1f;protected boolean pinchZoom (float amount) { currentZoom += amount; if(currentZoom>=maxZoom) currentZoom=maxZoom; if(currentZoom<=minZoom) currentZoom=minZoom; if(currentZoom>minZoom && currentZoom<maxZoom){ return zoom(pinchZoomFactor * amount); } return false;}
它对我来说很完美!我希望这个解决方案可以帮助别人.
总结以上是内存溢出为你收集整理的android – LibGDX – 限制透视摄像机的缩放全部内容,希望文章能够帮你解决android – LibGDX – 限制透视摄像机的缩放所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)