Javascript 在两张KonvaJS画布之间拖动形状

Javascript 在两张KonvaJS画布之间拖动形状,javascript,konvajs,Javascript,Konvajs,在KonvaJS中是否可以将形状(如矩形)从一个阶段拖到另一个阶段?有什么提示吗?您只需收听“拖动”事件,然后在形状超出视图范围时将其移动到另一个阶段 像这样: circle.on('dragmove', () => { if (circle.getStage() === stage1 && circle.y() > stage1.height()) { circle.y(0) circle.moveTo(layer2); layer1.d

在KonvaJS中是否可以将形状(如矩形)从一个阶段拖到另一个阶段?有什么提示吗?

您只需收听“拖动”事件,然后在形状超出视图范围时将其移动到另一个阶段

像这样:

circle.on('dragmove', () => {
  if (circle.getStage() === stage1 && circle.y() > stage1.height()) {
    circle.y(0)
    circle.moveTo(layer2);
    layer1.draw();
    layer2.draw();
  }
  if (circle.getStage() === stage2 && circle.y() < 0) {
    circle.y(stage1.height());
    circle.moveTo(layer1);
    layer1.draw();
    layer2.draw();
  }
});
circle.on('dragmove',()=>{
if(circle.getStage()==stage1&&circle.y()>stage1.height()){
圆y(0)
循环。移动到(第2层);
layer1.draw();
第2层。绘制();
}
if(circle.getStage()==stage2&&circle.y()<0){
圆.y(stage1.height());
循环。移动到(第1层);
layer1.draw();
第2层。绘制();
}
});
根据您的用例,条件可能会有所不同


演示:

太棒了!非常感谢你!