1

我正在尝试从对象中获取部分位图,但我从以下位置获取不同的值:

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

v/s

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

我不确定在绘制位图数据时应该使用哪些:

bitmapdata.draw(object, <matrix>);

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

4

1 回答 1

1

object.transform.matrix.tx等于object.x如果没有应用其他转换(对于 相同y)。如果你在坐标上画一些东西, 的xy属性object不会改变。

object.x = 300;
object.y = 300;
object.graphics.beginFill(0);
object.graphics.drawCircle(0,0,100); 

此示例中绘制的圆的边界矩形将开始于,-100,-100但对象的中心仍位于300,300父坐标空间中。现在getBounds指的是对象的面积。该区域的坐标被转换为父空间,恰好是200,200.


父坐标空间中的矩阵平移和边界何时不同?
几乎总是,只有当对象的边界(在它自己的坐标空间中)从0,0.


文档中的示例getBounds部分涵盖了这一点。我不能告诉你应该使用哪一个,这取决于你需要在哪里绘制对象,但你没有提到想要的位置。

于 2011-10-11T19:59:15.857 回答