0

重なり合っている 2 つの形状があり、重なっている部分をクリックしたときに両方をドラッグしたいと考えています。これを行う簡単な方法はありますか?

4

1 に答える 1

0

http://jsfiddle.net/JPeJF/1/

これは少しバグがありますが、あなたはそれを整えることができます。それはあなたが求めていることを行い、もう少しロジック/ポリッシュが必要です。

確認する必要がある主なコードは次のとおりです。

  shapesLayer.on('mousedown', function(){
     var userPos = stage.getUserPosition();
     var intersected = shapesLayer.getIntersections(userPos); //gets all shapes intersecting at click position
     for(var i = 0; i < intersected.length; i++) {
       intersected[i].moveTo(group2);   // moves intersected shapes to a new group , need to add some code so that when item is moved to new group it keeps it's position
     }
     group2.simulate('dragstart'); //simulate dragging
     shapesLayer.draw();
  });

  shapesLayer.on('mouseup', function(){  //when mouse is released
    var kids = group2.getChildren();
     for(var i = 0; i < kids.length; i++) {
       kids[i].moveTo(shapesLayer);      //place back in original container
     }
    shapesLayer.draw();
  });
于 2013-02-12T15:12:55.210 に答える