我有两个重叠的形状,并且我想在拖动两个单击时重叠。是否有捷径可寻?拖动两个重叠的形状
0
A
回答
0
这是一个小马车,但你可以美化它,但它确实你问什么,只是需要一些更多的逻辑/抛光。
你需要看的主要代码是:
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();
});
+0
我喜欢它,但它不适合我 - getIntersections(pos)没有任何功能。也就是说,如果模拟('dragstart')导致形状开始拖动,我可以直接在形状上调用它吗? – Narfanator 2013-02-12 18:40:14
+0
好吧,你不能在节点上使用'getIntersections(pos)',只能使用容器,但是你可以'模拟(事件)'几乎任何东西,所以你可以直接在形状上调用它。有很多不同的方式可以实现你想要做的事情,我只是尝试创建一个快捷方式。该解决方案需要额外的位置信息,以便您可以拖动所需的项目。 – SoluableNonagon 2013-02-12 18:49:27
相关问题
- 1. 两个纹理重叠在一个单一的形状
- 2. 防止两个可拖动的圆圈交叉时重叠
- 3. 如何检测可拖动的圆形与KineticJS重叠的另一个圆形?
- 4. 形状拖动问题
- 5. 在Jpanel上拖动形状
- 6. 检查两个矩形是否重叠
- 7. 两个矩形重叠多少?
- 8. 拖放形状
- 9. 重叠的Tableau地图形状
- 10. 检查WPF中的重叠形状
- 11. 重叠部分透明的形状
- 12. D3.js打破重叠的形状
- 13. 控制Python龟的形状重叠?
- 14. 检测两个正方形/矩形之间的重叠JAVA
- 15. 创建重叠的可拖动div div
- 16. 拖动没有填充的形状
- 17. 拖动HTML5的任何形状
- 18. 两个JPanels重叠?
- 19. Android:如何组合两个形状的路径并移除重叠?
- 20. 拖放图形形状
- 21. 拖放重叠点
- 22. ggplot合并两个叠加图的形状在传说
- 23. 如何通过拖动鼠标连接Raphael中的两个形状?
- 24. 的两个按钮重叠
- 25. 确保两个随机形状从来没有互相靠近或重叠
- 26. 防止拖动圆圈重叠
- 27. 拖动两个UIScrollViews
- 28. 拖动以绘制更多形状
- 29. iOS拖动形状固定到中心
- 30. 将3D形状拖动到Google Map上?
不是最简单的,而简单,它们添加到组并拖动组。你可以用.getIntersections(position)得到相交的形状。然后在点击时将这些形状添加到组中,然后模拟dragstart。 – SoluableNonagon 2013-02-12 14:44:39
你可以提出一个你迄今为止尝试过的jsfiddle吗? – SoluableNonagon 2013-02-12 18:49:54