1

使用 Kinetic JS,当整个舞台可拖动时,我将如何放大舞台的当前中心?

在上一个问题答案的帮助下,我将其从中心放大。然而,这样做的问题是它总是从原始中心点缩放,即使舞台被拖到其他地方也是如此。原来的中心点不再是当前的中心点,因此当您放大时,舞台开始移动到别处。

为了演示我创建了这个 JSFiddle:http: //jsfiddle.net/uJeyC/2/

var group = new Kinetic.Group({
    x: width / 2,
    y: height / 2,
    width: width,
    height: height
});

group.setOffset(width / 2, height / 2);

这是演示问题的图像:

在此处输入图像描述

我尝试了几件事,例如计算当前中心点,通过缩放因子将组相乘,然后计算新的中心点。使用该差异来抵消该组,但这不起作用,因为偏移量太大。

与此类似的问题是:调整 Kinetic JS 中拖动的 Kinetic.Path 元素的偏移量,以始终将偏移中心保持在 Stage。但给出的答案并不令人满意,因为它建议一个从左上角缩放的库,并且只适用于过时版本的 KinectJS。

4

0 回答 0