EaselJS 拖放:获取抓取位置

Posted

技术标签:

【中文标题】EaselJS 拖放:获取抓取位置【英文标题】:EaselJS Drag-Drop: Get Grabbing Position 【发布时间】:2015-04-13 10:02:54 【问题描述】:

我想用easeljs 拖放一个容器元素。 默认情况下 event.stageX/stageY 指的是形状或容器的中心。 这意味着大元素以鼠标位置为中心,不管我是在左上角还是右下角抓取它们。

我想将元素绑定到确切的鼠标位置。

对不起,我的英语不好,这不是我的母语。

【问题讨论】:

查看 GitHub 中的 DragAndDrop 示例(此处为示例)createjs.com/demos/easeljs/DragAndDrop.html -- 存储鼠标相对于被拖动项目位置的偏移量,然后减去它。 另见***.com/questions/22829143/easeljs-glitchy-drag-drop/…。有两种方法可以固定相对于鼠标位置的对象位置,详见那里。 1) 使用 regX/regY 从鼠标偏移对象中心。 2) 计算/存储鼠标相对于拖动项目位置的偏移量并减去它,如上面 Lanny 所建议的那样。 【参考方案1】:

也许为时已晚,但希望这会有所帮助。

container.on('mousedown', function(e)
        var posX = e.stageX;
        var posY = e.stageY;
        this.offset = x: this.x - posX, y: this.y - posY;

container.on('pressmove', function(e)
    var posX = e.stageX;
    var posY = e.stageY;
    this.x = posX + this.offset.x;
    this.y = posY + this.offset.y;

【讨论】:

以上是关于EaselJS 拖放:获取抓取位置的主要内容,如果未能解决你的问题,请参考以下文章

CreateJS / EaselJS 具有特定尺寸形状的奇怪性能

EaselJS:从库中实例化对象后如何访问子项

easelJS 初始入门

EaselJS:在属性更改时更新形状颜色

easelJS入门事件spritesheet

画布高度由 EaselJS 更改。如何避免这种情况?