2010-10-27 3 views
1

флэш Tranformation Матрица через JSFL скупы мне :(Rotation + Matrix + JSFL

Я должен написать сценарий JSFL, который создает текст на моей флэш-сцены, и вращать его со случайным углом. Imagine I хотите создать и повернуть «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.

у меня есть признать, что я вроде нуб с матрицей ... поэтому я использовал «ma трикс преобразования для вращения "здесь: http://www.senocular.com/flash/tutorials/transformmatrix/

Идеи?

спасибо.

ответ

2

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

+0

Ты моя суперзвезда (и мне очень стыдно за мою ошибку). Большое спасибо. – lvictorino

+1

Я всегда буду рядом с тобой (этот сайт является частным чатом?: D) –

2

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

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

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