so.*_*oni 5 java javafx javafx-8
我知道您可以在这样的动画中更改圆圈的位置(另请参见此处):
timeline.getKeyFrames().addAll(
    new KeyFrame(Duration.ZERO, // set start position at 0
        new KeyValue(circle.translateXProperty(), random() * 800),
        new KeyValue(circle.translateYProperty(), random() * 600)
    ),
    new KeyFrame(new Duration(40000), // set end position at 40s
        new KeyValue(circle.translateXProperty(), random() * 800),
        new KeyValue(circle.translateYProperty(), random() * 600)
    )
);
但是,是否有可能(这意味着a Property)改变动画中多边形的点?
如果没有:我还有哪些其他可能性来使用JavaFX在动画中变形多边形?
a 中的点没有单独的属性Polygon,但您可以使用sPath的LineToa ,MoveTo并ClosePath单独对多边形的坐标进行动画处理。
例子:
Pane pane = new Pane();
pane.setPrefSize(400, 400);
MoveTo corner1 = new MoveTo();
LineTo corner2 = new LineTo();
LineTo corner3 = new LineTo();
Path path = new Path(corner1, corner2, corner3, new ClosePath());
pane.getChildren().add(path);
Timeline timeline = new Timeline(
        new KeyFrame(Duration.ZERO,
                new KeyValue(corner1.xProperty(), 200d),
                new KeyValue(corner1.yProperty(), 200d),
                new KeyValue(corner2.xProperty(), 200d),
                new KeyValue(corner2.yProperty(), 200d),
                new KeyValue(corner3.xProperty(), 200d),
                new KeyValue(corner3.yProperty(), 200d)),
        new KeyFrame(Duration.seconds(2),
                new KeyValue(corner1.xProperty(), 100d),
                new KeyValue(corner1.yProperty(), 100d),
                new KeyValue(corner2.xProperty(), 250d),
                new KeyValue(corner2.yProperty(), 300d),
                new KeyValue(corner3.xProperty(), 50d),
                new KeyValue(corner3.yProperty(), 380d)));
timeline.setCycleCount(Animation.INDEFINITE);
timeline.setAutoReverse(true);
timeline.play();
| 归档时间: | 
 | 
| 查看次数: | 276 次 | 
| 最近记录: |