Pregunta

Flash Transformación a través de la matriz JSFL son malos conmigo: (

Tengo que escribir un guión JSFL que crea un texto en mi escena Flash, y giran con un ángulo aleatorio. Imagino que quiero crear y giran un "Hello World!" a 45 grados, mi código es similar a lo siguiente:



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


es el problema: la rotación aplicada a mi texto es 58.3 en lugar de 45.

Tengo que admitir que estoy un poco novato con la matriz ... así que utilicé la "transformación de matriz para la rotación" aquí: http://www.senocular.com/flash/tutorials/transformmatrix/

Las ideas?

gracias.

¿Fue útil?

Solución

¿Has probado con radianes en lugar de grados?

Otros consejos

Estoy bastante seguro de que usted podría también sólo tiene que utilizar el siguiente en lugar de ir a través de la matriz en aras de la simplicidad.

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

Esto evita tener que convertir a radianes, así, ya que se necesita grados como un valor de entrada.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top