0

我在这里遇到了一个小问题,但我不知道这是错误还是新功能,因为在 KineticJS 更改日志中有以下更改:

“拖放操作现在会自动动态创建一个临时顶层,并在其中放置组和形状的节点,以大大提高拖放性能......”

我习惯于在我的测试项目中使用 4.0.0 版本,当我想将某个形状移到顶部时,我必须使用显式 moveToTop()(我认为这是正确的方法)。现在(版本 4.3.2)如果我只是点击一些图片,它会自动移动到顶部而不是我的意愿。这个临时层应该是内部的,没有视觉效果。那么这真的是一个错误还是有某种方法可以关闭这个东西。

我认为即使是实验室也发生了变化,在我认为如果您不调用 moveUp、moveToTop 等函数时,对象会保持空间顺序。例如,在下面的链接中没有 moveToTop() 函数调用,即使这样,如果您单击形状,它们也会移动到顶部。

http://www.html5canvastutorials.com/kineticjs/html5-canvas-move-shape-to-another-container-with-kineticjs/

感谢关注

4

1 回答 1

0

虽然我认为您不能完全禁用该图层,但您可以关闭将形状移动到其中。假设您有一些形状,例如:

  var shape1 = new Kinetic.Rect({
      x: 100,
      y: 100,
      width: 100,
      height: 100,
      fill: 'blue',
      draggable: true
  });

您需要为此添加一个参数以禁用在拖动时将形状移动到临时图层:'dragOnTop' 必须为假,因此使您的形状类似于:

  var shape1 = new Kinetic.Rect({
      x: 100,
      y: 100,
      width: 100,
      height: 100,
      fill: 'blue',
      draggable: true,
      dragOnTop: false  //<-- add this line so that this shape doesn't use the drag layer.
  });
于 2013-02-11T15:09:48.937 回答