Вращение + Матрица + JSFL - PullRequest
       19

Вращение + Матрица + JSFL

1 голос
/ 27 октября 2010

Матрица преобразования Flash через JsFL для меня значит: (

Мне нужно написать скрипт 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 ]

2 голосов
/ 06 ноября 2012

Я почти уверен, что вы могли бы просто использовать следующее, а не проходить матрицу ради простоты.

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

это позволяет избежать необходимости преобразования в радианы, поскольку в качестве входного значения используются градусы.

2 голосов
/ 28 октября 2010

Вы пробовали с радианами вместо градусов?

...