質問

JsFL 経由の Flash 変換マトリックスは私にとって意地悪です:(

Flash シーン上にテキストを作成し、ランダムな角度で回転させる JsFL スクリプトを作成する必要があります。「Hello World!」を作成して回転させたいと想像してみてください。 45度で、私のコードは次のようになります。



rotateAngle = 45;

//creates my new text at x:0, y:0 coordinates
fl.getDocumentDOM().addNewText({left:0, top:0, right:10, bottom:10});
fl.getDocumentDOM().setTextString('Hello World!');

var mat = fl.getDocumentDOM().selection[0].matrix; //get the current matrix

// set rotation
mat.a = Math.cos( rotateAngle );
mat.b = Math.sin( rotateAngle);
mat.c = - Math.sin(rotateAngle);
mat.d = Math.cos( rotateAngle );

fl.getDocumentDOM().selection[0].matrix = mat; //apply new matrix


問題は :私のテキストに適用された回転は 45 ではなく 58.3 です。

私はマトリックスに関してはちょっと初心者であることを認めなければなりません...そこで私はここで「回転のための行列変換」を使用しました。 http://www.senocular.com/flash/tutorials/transformmatrix/

アイデア?

ありがとう。

役に立ちましたか?

解決

度の代わりにラジアンを試してみましたか?

他のヒント

簡単にするために、マトリックスを使用するのではなく、次のコードを使用することもできると確信しています。

var element = fl.getDocumentDOM().selection[0];
element.rotation = 45;

これにより、入力値として度を受け取るため、ラジアンに変換する必要がなくなります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top