我一直在研究一个非常血腥的模拟,这意味着它必须放大和缩小。
我找到了一个好的工作脚本但是当模拟变大时我发现它有问题...... 放大的越多,步数越小,缩小越远,越大。
这是一个问题,因为无论你有什么缩放级别我都需要相同的步骤。
我现在使用的脚本是:
var total = 75,
delta = e.detail ? e.detail * -120 : e.wheelDelta; //e is mouse event
this.zoomValue += (delta > 0) ? 1 : -1;
this.zoomRatio = 1 + (this.zoomValue / total) * 2;
e.preventDefault();
你可以在这里看到它:http://clanpvp.com/sol(如果它不起作用,我要么摆弄它,要么你正在使用Internet Explorer)
我稍后使用zoomRatio来计算各种物体的位置。
谁知道更好的放大方式?
答案 0 :(得分:1)
anwser非常简单......但在我亲眼看到之前我需要有人给我看。
解决方案是让它以exponentialy缩放,所以
this.zoomRatio = Math.exp(this.zoomValue);
诀窍,你可以做点什么
this.zoomRatio = Math.exp(this.zoomValue / 10);
使其以较小的“步骤”滚动。