带有transformMatrix的容器的EASELjs pressmove事件

EASELjs pressmove event of container with transformMatrix

我有问题请指正,经过一番研究后我没有找到任何相关信息,如果有答案,您可以指出我的答案。具体来说,这是另一个 的延续。

将转换矩阵应用到容器元素后,没有拖动动画。看完 documentation:

我明白了

transformMatrix Matrix2D

Inherited from DisplayObject: transformMatrix:318

If set, defines the transformation for this display object, overriding all other transformation properties (x, y, rotation, scale, skew).

Default: null

为了拖动我使用了目标对象的xy属性

dragger.on("pressmove", function (evt) {
    evt.currentTarget.x = evt.stageX;
    evt.currentTarget.y = evt.stageY;
    canvasElement.update();
});

所以现在我想我必须更改矩阵值才能制作拖动动画。或者还有其他解决方案?


这里是 fiddle 带有转换矩阵的容器。

没错。如果您应用 transformMatrix,它会覆盖其他转换属性。最明显的解决方案,查看您的代码就是不使用矩阵,并设置 xy 属性。

https://jsfiddle.net/n55jk201/11/

另一种选择是使用 Matrix2D.translate(),或直接在矩阵上设置 tx/ty

https://jsfiddle.net/n55jk201/12/

显然,您可以做很多代码清理工作,但希望这传达了总体思路。