Вопрос

Флэш-транформационная матрица через 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/

Идеи?

Спасибо.

Это было полезно?

Решение

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

Другие советы

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top