在Kinetic JS中调整拖动的Kinetic.Path元素上的偏移量,以始终将偏移中心保持在舞台上

时间:2012-08-02 01:23:53

标签: kineticjs

我不得不开发一个可拖动和可缩放的世界地图,并且在一个封闭的系统上,不能依赖谷歌地图这样的东西。

这不是一个完整的“地图”应用程序,它将在缩放时显示更多细节,但基本上向纬度/长度显示各种针脚的世界,并且在缩放时,缩放地图区域目前集中在舞台上。

我已经能够使用Kinetic.Path方法创建地图,并且还能够创建滑块来设置该Path元素的比例因子。我还将该元素的可拖动状态设置为true。

但是在缩放时,它总是缩放到Path的左上角,所以基本上是coords(0,0)。我已经使用setOffset()将Paths偏移移动到Path的中心(.5宽度,.5高度)。这会产生将3/4的图像放在舞台之外的副作用,因此我将路径的XY调整为宽度的.5和高度的.5,使其再次居中。

所以我现在有一个以舞台为中心的路径,当缩放时,缩放到路径的中心。美丽。但是,当我拖动它然后再次缩放时,它会继续根据路径的中心进行缩放。我需要缩放点(我假设用setOffset()控制)以保持相对于舞台中心的居中。这样,当他们拖动路径并保持缩放时,它将缩放到视图中的中心。

我尝试过各种数学运算(这不是我的强项),试图在拖动后调整偏移,但我似乎无法让它正常工作。任何人都可以向我解释这种模式吗?

0 个答案:

没有答案