我创建了一个继承自的类,Sprite
并添加了以下从中心旋转的函数:
private function rotate(angle:Number):void
{
trace(width);
var tmpWidth:Number = width;
var rect:Rectangle = getBounds(parent);
var matrix:Matrix = transform.matrix;
matrix.translate(-(rect.left + rect.width/2), -(rect.top + rect.height/2) );
matrix.rotate((angle/180)*Math.PI);
matrix.translate((rect.left + rect.width/2), (rect.top + rect.height/2) );
transform.matrix = matrix;
trace(width);
}
我的问题是对象的大小在旋转后发生了变化。例如,变换前的宽度值小于变换后的宽度。我究竟做错了什么?