如何对克隆的形状和图像进行分组,以便将它们拖到一起?我将克隆的图像放在克隆的矩形顶部。每次拖动矩形时是否必须创建新的Kinetic.Group
?是否有另一种选择让他们拖拽它们而不对它们进行分组?
我使用kineticJS执行拖放任意数量的克隆项目,从一层到另一层,这是我写的代码,直到现在http://jsfiddle.net/GLFxF/34/我不知道如何我应该这样做。
答案 0 :(得分:1)
Kinetic.Groups是拖动一组形状/图像的最佳方法。
演示:http://jsfiddle.net/m1erickson/7BkR7/
当您拖放一个克隆项目时,可以使用clone.on("dragend"
让克隆项目连接到它所放入的任何组(矩形)。
假设所有矩形容器都已添加到containers []数组中。
然后您可以使用此dragend
函数将克隆moveTo
放入其中的任何容器:
clone.on("dragend",function(){
var pos=this.getAbsolutePosition();
var x=pos.x;
var y=pos.y;
var hit=-1;
for(var i=0;i<containers.length;i++){
var c=containers[i];
var cx=c.x();
var cy=c.y();
if(x>=cx && x<=cx+c.width() && y>=cy && y<=cy+c.height()){
hit=i;
}
}
if(hit>=0){
var container=containers[hit];
this.x(x-container.x());
this.y(y-container.y());
this.moveTo(container);
}else{
this.x(x);
this.y(y);
this.moveTo(layer);
}
});