官方文件是我的头开始旋转的地方。在相当长的一段时间里,我一直盯着,因为我无法知道如何将新的坐标输入到即将到来的矩阵变换中。
我终于设法弄清楚了这个问题。这是一个监听器连接在动子触发onMoveStop的问题:
dojo.connect(movable, "onMoveStop", map, "reposition");
我再拿到新的移动的距离和在我的图形类它们送入任何旋转或缩放矩阵译文:
updateMatrix: function(){
//So far it is the group which is being rotated
if (this.group) {
if(!this.curr_matrix){
this.curr_matrix = this.initial_matrix;
}
this.group.setTransform([
this.m.rotateAt(this.rotation, this.stage_w_2, this.stage_h_2),
this.m.scaleAt(this.scaling, this.stage_w_2, this.stage_h_2),
this.curr_matrix
]);
//this.group.setTransform([
// this.m.rotateAt(this.rotation, mid_x, mid_y),
// this.m.scaleAt(this.scaling, mid_x, mid_y),
// this.initial_matrix]);
}
},
reposition: function(){
mtx = this.group._getRealMatrix();
this.curr_matrix = this.m.translate(mtx.dx, mtx.dy);
},
生活的华丽再次。感谢尤金的建议。