1
一般的なShapeをPointsのリストに分割しようとしているので、特定の割合に応じて特定のスプライトをパスに沿って移動させることができます。java 2dpathを等分して分割する方法
今、私は複数のポイントに形状を分割することができます:、あなたが絵に見ることができるよう
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()
ポイント:これは以下のコードによって生成された
パスに沿って均等に分布していません。すべてのポイント間の距離を同じにする方法はありますか?
最大距離があることは事実であるが、私2点間の正確な距離が必要です。だから私は同じ長さのセグメントを得るだろう。どのようにこれが可能になるかについての任意のアイデア? – Thijs
Ohh私は、デフォルトの実装ではこれが不可能であることをご存じでしょうか。このためには、PathIteratorインターフェイスを自分で実装する必要があります。 –