我正在尝试将一般的Shape拆分为Points列表,这样我们就可以根据某个百分比在路径上移动某个精灵。
现在我可以将形状分成多个点:
这是由以下代码生成的:
shapeComp = system.gui.getParentWindow(event).getComponentForPath('Root Container.Path')
shape=shapeComp.getShape()
pathIterator = FlatteningPathIterator(shape.getPathIterator(AffineTransform()), 1)
graphics = system.gui.getParentWindow(event).graphics
segment = jarray.zeros(6,'d')
path = []
while not pathIterator.isDone():
pathIterator.currentSegment(segment)
path.append([segment[0], segment[1]])
graphics.fillOval(int(segment[0]), int(segment[1]), 5, 5)
pathIterator.next()
正如您在图片中看到的那样,这些点并非沿路径均匀分布。有没有办法让所有点之间的距离相同?
答案 0 :(得分:0)
正如您在javadoc中可以找到的那样,flattness还有一个额外的属性。因此,您应该能够将第二个参数设置为某个特定值,并获得您期望的值。但是,如果所有情况都适用,我也不知道。
平坦度 - 允许线段用于近似弯曲段的最大距离偏离原始曲线上的任何点