放大KineticJS中的鼠标位置

时间:2012-10-12 07:10:24

标签: javascript html5-canvas kineticjs

问题:

如何在鼠标滚轮滚动时放大鼠标位置?

详细信息:

我试图在Stack Overflow上合并this complete solution,它允许使用this incomplete solution缩放舞台,允许在单击时放大鼠标。我已经分享了jsfiddle代码here。放大后,代码工作正常,但在第一次滚动时,舞台会跳到另一个位置,我无法弄清楚原因。任何人都可以告诉我它为什么会发生,以及如何解决它。感谢。

2 个答案:

答案 0 :(得分:1)

只是一个猜测,但你使用的是相对于页面而不是画布的鼠标位置

答案 1 :(得分:0)

缩放时,鼠标位置下的位置会发生变化(跳跃的原因)。要将位置移回原位,您需要平移偏移(前一个位置和新位置之间的差异(缩放后))。为避免舞台跳到不同的位置,您可以使用KineticJS的stage.setOffset功能。

JSFiddle:http://jsfiddle.net/rpaul/ckwu7u86/3/