actionscript位图使用transform.matrix和rectangle.bounds进行绘制

时间:2011-10-11 18:18:59

标签: flash actionscript-3 actionscript displayobject

我正在尝试从对象获取部分位图,但我得到了不同的值:

object.transform.matrix.tx and object.transform.matrix.ty

V / S

object.getBounds(object.parent).x and object.getBounds(object.parent).y

我不确定在绘制bitmapdata时我应该使用哪些:

bitmapdata.draw(object, <matrix>);

添加矩阵的a,b,c,d分量为1,0,0,1(或同一性)。那么有人可以解释在哪些场景中matrix.tx和matrix.ty与边界坐标不同吗?

1 个答案:

答案 0 :(得分:1)

如果未应用其他转换,则

object.transform.matrix.tx等于object.xy相同)。如果您在否定坐标上绘制内容,则x的{​​{1}}和y属性不会更改。

object

此示例中绘制的圆的边界矩形将从object.x = 300; object.y = 300; object.graphics.beginFill(0); object.graphics.drawCircle(0,0,100); 开始,但对象的中心仍在父级坐标空间中的-100,-100处。现在300,300指的是对象的区域。区域的坐标转换为父级的空间,恰好是getBounds


父母坐标空间中的矩阵平移和边界何时不同?
几乎总是如果对象的界限(在它自己的坐标空间中)从200,200开始,它们就是相同的。


这部分由example of getBounds in the documentation涵盖。我无法告诉你应该使用哪一个,这取决于你需要绘制物体的位置,但你没有提到所需的位置。