Javascript 在EaselJS中拖动容器

Javascript 在EaselJS中拖动容器,javascript,html,canvas,easeljs,Javascript,Html,Canvas,Easeljs,我想用鼠标在EaselJS中创建一个平移函数。有没有可能把一个容器装满,这样我就可以把它拖走。或者有没有其他类似的解决方案,可以在画布上移动一组子元素?现在,只有子元素是可拖动的 这就是我所拥有的: var canvas = document.getElementById('canvas'); canvas.width = 1000; canvas.height = 550; var stage = new createjs.Stage(canvas); var container = new

我想用鼠标在EaselJS中创建一个平移函数。有没有可能把一个容器装满,这样我就可以把它拖走。或者有没有其他类似的解决方案,可以在画布上移动一组子元素?现在,只有子元素是可拖动的

这就是我所拥有的:

var canvas = document.getElementById('canvas');
canvas.width = 1000;
canvas.height = 550;
var stage = new createjs.Stage(canvas);
var container = new createjs.Container();
stage.addChild(container);
container.addEventListener("pressmove", function (evt) {
    evt.target.set({
        x: evt.stageX,
        y: evt.stageY
    });
    stage.update();
});

尝试在您的容器中创建填充的背景项,以便无论用户在何处与容器交互,都会触发
按move
事件。另外,更改事件处理程序中的代码,使其作用于事件对象的
currentTarget
,在本例中,该对象将是容器():


您是否尝试过使用evt.currentTarget?下面是一个示例(使用旧版本的EaselJS)。
var canvas = document.getElementById('canvas');
canvas.width = 1000;
canvas.height = 550;

var stage = new createjs.Stage(canvas);
var container = new createjs.Container();
stage.addChild(container);

container.addEventListener("pressmove", function (evt) {
    console.log('press');
    evt.currentTarget.set({
        x: evt.stageX,
        y: evt.stageY
    });
    stage.update();
});

// Add a background
var bg = new createjs.Shape();
bg.graphics.beginStroke("#000");
bg.graphics.beginFill("#fff");
bg.graphics.setStrokeStyle(1);
bg.graphics.drawRect(0, 0, 400, 400);

container.addChild(bg);

// Add a thing
var square = new createjs.Shape();
square.graphics.beginFill("#000");
square.graphics.drawRect(0, 0, 50, 50);
square.x = 100;
square.y = 100;

container.addChild(square);

stage.update();