Matrix createjs中的位图转换方法

Matrix createjs中的位图转换方法,matrix,createjs,Matrix,Createjs,我正在尝试将BitmapTransformer.as(actionscript中的代码)转换为createjs,理想的结果是位图将被转换为4个点(左上、右上、左下、右下),但我在Matrix2D中遇到了一个大问题,导致了错误的结果,有人能帮我吗?代码段如下所示: //Matrix2D的concat方法实现 createjs.Matrix2D.prototype.concat=函数(矩阵){ var a=这个.a, c=这个,c, tx=this.tx, b=这个, d=这个, ty=这个.t

我正在尝试将BitmapTransformer.as(actionscript中的代码)转换为createjs,理想的结果是位图将被转换为4个点(左上、右上、左下、右下),但我在Matrix2D中遇到了一个大问题,导致了错误的结果,有人能帮我吗?代码段如下所示:


//Matrix2D的concat方法实现
createjs.Matrix2D.prototype.concat=函数(矩阵){
var a=这个.a,
c=这个,c,
tx=this.tx,
b=这个,
d=这个,
ty=这个.ty;
这个.a=a*矩阵.a+c*矩阵.b;
这个.b=b*矩阵.a+d*矩阵.b;
这个.c=a*矩阵.c+c*矩阵.d;
这个.d=b*矩阵.c+d*矩阵.d;
this.tx=tx*matrix.a+ty*matrix.b+matrix.tx;
this.ty=tx*matrix.c+ty*matrix.d+matrix.ty;
};
var bitmapTransformer=功能(w、h、hdiv、vdiv){
var dataWidth=w,
数据高度=h,
vertsArray=[],
newVertsArray=[],
hDiv=hDiv,
vDiv=vDiv;
函数setVertices(){
变量j,i,k;
var hStep=数据宽度/hDiv;
var vStep=数据高度/vDiv;

对于(j=0;j我已经解决了这个问题,它是由Matrix2D.concat的错误方法引起的,下面是正确的函数:

createjs.Matrix2D.prototype.concat=function(m){
var a=这个.a;
var b=这个.b;
var c=这个.c;
var d=这个.d;
var tx=this.tx;
var ty=this.ty;
这.a=m.a*a+m.c*b;
这个.b=m.b*a+m.d*b;
这个.c=m.a*c+m.c*d;
这个.d=m.b*c+m.d*d;
this.tx=m.a*tx+m.c*ty+m.tx;
this.ty=m.b*tx+m.d*ty+m.ty;
};