Вращение + матрица + JSFL
Вопрос
Флэш-транформационная матрица через 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;
Это позволяет избежать необходимости преобразовать в радианы, так как он занимает градусы в качестве входного значения.