旋转+矩阵+JSFL

Posted

技术标签:

【中文标题】旋转+矩阵+JSFL【英文标题】:Rotation + Matrix + JSFL 【发布时间】:2011-05-01 10:43:20 【问题描述】:

通过 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/

想法?

谢谢。

【问题讨论】:

【参考方案1】:

你试过用弧度代替度数吗?

【讨论】:

你是我的超级明星(我为自己的错误感到非常羞愧)。非常感谢。 我会一直在你身边(这个网站是私人聊天室对吧?:D)【参考方案2】:

我很确定,为了简单起见,您也可以只使用以下内容,而不是遍历矩阵。

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

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

【讨论】:

以上是关于旋转+矩阵+JSFL的主要内容,如果未能解决你的问题,请参考以下文章

旋转矩阵公式

旋转矩阵公式,是啥?

旋转矩阵

JSFL:检测元素何时被翻转

11个号中5保5旋转矩阵公式

Leecode-48:旋转图像(矩阵顺时针旋转90度)