Después de un largo rato, llegué con una solución. Quizá no sea la más óptima, pero funciona. Me gustaría saber si alguno de ustedes conoce una forma mejor de hacerlo:
Código PHP:
public function getRotation(spr:Sprite):Number
{
var m:Matrix = spr.transform.matrix;
return Math.atan2(m.b, m.a)/(Math.PI/180);
}
public function setRotation(spr:Sprite, angle:Number):void
{
addRotation(spr, -Math.round(getRotation()));
addRotation(spr, angle);
}
public function addRotation(spr:Sprite, angle:Number):void
{
var p:Point = new Point(spr.width/2, spr.height/2);
var m:Matrix = new Matrix();
m.translate(-p.x, -p.y);
m.rotate (angle * (Math.PI/180));
m.translate(p.x, p.y);
m.concat(spr.transform.matrix);
spr.transform.matrix = m;
}