在上一个系列中,我们讨论了很多主题。从基本的对象操作到动画,事件,过滤器,组和子类。但是仍然有一些非常有趣和有用的事情要讨论!
缩放和平移
让我们看看如何通过鼠标交互来实现缩放和平移的基本系统。我们将使用鼠标滚轮在画布上放大20倍(2000%),并使用alt +单击动作进行拖动。
我们开始使用基本控件:
这是基本的缩放控件,限制在1%到2000%之间。我们现在想添加画布的拖动。我们将使用ALT + DRAG,但是您可以更改为其他组合。这个想法是,将鼠标按下alt会将布尔值设置为true,这样鼠标移动事件便可以理解是拖动的时间了。
作为最后的细节,我们可以限制平移区域,以避免视图在某一方向上无限延伸。我们绘制一个 1000x1000 像素的矩形,表示我们的平移区域。然后我们添加代码来限制在该边界内的移动: