現在のやり方でのnewMatrixの問題点
前回はnewMatrixを作成しました。しかし前回の方法では問題があったようです。
attachMovieを用いて返されたmovieclipは少し時間?がたたないと使えないようである。
これは衝撃でした。私は以下のようなもの考えていたのですが
sum = function(data){
sum =new Matrix();
for(i=0;i<4;i++)
for(i=0;i<4;i++){
sum.setData(i,j,getData(i,j),dat.getData(i,j));
}
return sum;
};
上のようにすると、newされたsumはまだsetDataを保持していないため。
AとBの和がsumに代入されないようです。
となると newの意味がまったくなくなってしまうように感じる。せっかく作ったのに・・・これは少し残念。
(力技で何とかすることはできますが)
やはりクラスが使えないと不便に感じますね。
結論として必ず宣言してから使うようにする
MovieClipの中でMovieClipの宣言をするなんてことはそもそもできない。
MovieClipを宣言なんてものはないため(私の知る限りでは)
そこで、newMatrix()を以下のように使う。
A = _root.Matrix.newMatrix();
B = _root.Matrix.newMatrix();
T = _root.Matrix.newMatrix();
this.onEnterFrame = function(){
A.setData(0,0,1);A.setData(0,1,1);A.setData(0,2,1);
B.setData(0,0,1);B.setData(0,1,0);B.setData(0,2,0);
T.multiplication(A,B);
T.printMatrix();
};
すると、とりあえずは計算はしてくれます。
まだまだ疑問が残りますが、とりあえず今日はこのぐらいまで。
本日の成果
Main,Matrix,作成したもの