【发布时间】:2011-12-24 19:30:57
【问题描述】:
actionscript 中的DisplayObject.getBounds 返回包含笔划的对象的边界。 JSFL 中 SymbolInstance 的 left、top、width、height 属性似乎不包括笔划。这是我发现从 JSFL 获取符号边界的唯一方法。还有其他方法吗?
【问题讨论】:
标签: actionscript-3 jsfl
actionscript 中的DisplayObject.getBounds 返回包含笔划的对象的边界。 JSFL 中 SymbolInstance 的 left、top、width、height 属性似乎不包括笔划。这是我发现从 JSFL 获取符号边界的唯一方法。还有其他方法吗?
【问题讨论】:
标签: actionscript-3 jsfl
在获取对象的边界时,对于 JSFL,笔划的宽度为 0。 我能想到的唯一方法是编辑符号,选择形状,然后 1.) 获取笔画大小并将其值的 1/2 添加到您的计算中,或者 2.) 将笔画转换为填充(对于复杂的轮廓不可靠)
如果你只希望包含笔画但精确的大小并不重要,你可以在 getBounds 的结果中任意添加一些像素。
【讨论】:
您正在Shape 上寻找Edge 对象。 Edge 有一个 Stroke 对象,该对象具有 thickness 属性。
// This will show the selected shape's first edge's thickness:
fl.trace(fl.getDocumentDOM().selection[0].edges[0].stroke.thickness );
您必须遍历所有形状及其所有边缘以确定最终边界(如果您确信所有边缘具有相同的厚度,只需检查一个)。
【讨论】: