2017-07-06 8 views

答えて

1

考えてみましょう:dragmoveイベントを聞き、移動する必要がある他のすべてのオブジェクトに位置差分を適用します。

let oldX, oldY; 
layer.on('dragstart', (e) => { 
    oldX = e.target.x(); 
    oldY = e.target.y(); 
}); 
layer.on('dragmove', (e) => { 
    const diffX = e.target.x() - oldX; 
    const diffY = e.target.y() - oldY; 

    // move everyone 
    layer.children.each((child) => { 
    // skip draggable circle 
    if (child === e.target) { 
     return; 
    } 
    // move other nodes 
    child.x(child.x() + diffX); 
    child.y(child.y() + diffY); 
    }); 
    oldX = e.target.x(); 
    oldY = e.target.y(); 
}); 

デモ:http://jsbin.com/babasibudi/1/edit?js,output

関連する問題