旋转+矩阵+ JSFL

时间:2010-10-27 17:03:04

标签: flash matrix flash-cs4 jsfl

通过JsFL的Flash转换矩阵对我来说意味着:(

我必须编写一个JsFL脚本,在Flash场景中创建一个文本,并以随机角度旋转它。 想象一下,我想创建并旋转“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


问题是:应用于我的文本的旋转是58.3而不是45.

我不得不承认我有点矩阵的菜鸟...所以我在这里使用了“矩阵变换进行旋转”:http://www.senocular.com/flash/tutorials/transformmatrix/

想法?

谢谢。

2 个答案:

答案 0 :(得分:2)

您是否尝试过弧度而非度数?

答案 1 :(得分:2)

我很确定你也可以使用以下内容而不是为了简单起见而通过矩阵。

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

这避免了必须转换为弧度,因为它需要将度数作为输入值。