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
  });

ドラッグ時に形状を一時レイヤーに移動することを無効にするには、これに 1 つのパラメーターを追加する必要があります。「dragOnTop」は false にする必要があるため、形状を次のようにします。

  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 に答える