我有疑问请纠正我,经过一些研究后我找不到任何相关内容。如果有的话,你可以给我一个答案。具体来说,这是另一个post的延续。
将变换矩阵应用于容器元素后,没有拖动动画。我在阅读documentation:
后想出来了transformMatrix Matrix2D
继承自DisplayObject:transformMatrix:318
如果设置,则定义此显示对象的变换,覆盖所有其他变换属性(x,y,旋转,缩放,倾斜)。
默认值:null
用于拖动我使用 x 和 y 目标对象的属性
dragger.on("pressmove", function (evt) {
evt.currentTarget.x = evt.stageX;
evt.currentTarget.y = evt.stageY;
canvasElement.update();
});
所以现在我想我必须更改矩阵值才能制作拖动动画。还是有另一种解决方案?
这是带有转换矩阵的容器的fiddle。
答案 0 :(得分:0)
右。如果您应用transformMatrix
,它将覆盖其他转换属性。查看代码最明显的解决方案是不使用矩阵,并设置x
和y
属性。
https://jsfiddle.net/n55jk201/11/
另一种选择是使用Matrix2D.translate()
,或直接在矩阵上设置tx
/ ty
:
https://jsfiddle.net/n55jk201/12/
显然你可以做很多代码清理工作,但希望这能传达出一般的想法。