跳转到内容

简介:5.缩放、平移

在上一个系列中,我们讨论了很多主题。从基本的对象操作到动画,事件,过滤器,组和子类。但是仍然有一些非常有趣和有用的事情要讨论!

缩放和平移

让我们看看如何通过鼠标交互来实现缩放和平移的基本系统。我们将使用鼠标滚轮在画布上放大20倍(2000%),并使用alt +单击动作进行拖动。 我们开始使用基本控件:

<canvas id="step1" width="400" height="400"></canvas>

这是基本的缩放控件,限制在1%到2000%之间。我们现在想添加画布的拖动。我们将使用ALT + DRAG,但是您可以更改为其他组合。这个想法是,将鼠标按下alt会将布尔值设置为true,这样鼠标移动事件便可以理解是拖动的时间了。

<canvas id="step2" width="400" height="400"></canvas>

作为最后的细节,我们可以限制平移区域,以避免视图在某一方向上无限延伸。我们绘制一个 1000x1000 像素的矩形,表示我们的平移区域。然后我们添加代码来限制在该边界内的移动:

<canvas id="step4" width="400" height="400"></canvas>