首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在EaselJS中拖动容器

在EaselJS中拖动容器
EN

Stack Overflow用户
提问于 2014-01-27 15:50:07
回答 1查看 5.9K关注 0票数 5

我想在EaselJS中用鼠标创建一个pan函数。是否有可能以这样一种方式填充一个容器,使它可拉。或者还有另一个类似的解决方案,我可以在画布上移动一组子元素?现在,只有子元素是可拖的。

这就是我所拥有的:

代码语言:javascript
运行
复制
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();
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-27 17:12:37

尝试在容器中创建一个已填充的背景项,以便pressmove事件在用户与容器交互的任何地方触发。另外,更改事件处理程序中的代码,使其对事件对象的currentTarget (在本例中为容器(fiddle))起作用:

代码语言:javascript
运行
复制
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(); 
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21385293

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档