Animation Javafx在一侧缩短一条线
我试着在javafx上用动画将一条线缩短到一边。我希望起点保持在原地,终点离起点更近。我找不到合适的过渡。所以我用了这段代码:Animation Javafx在一侧缩短一条线,animation,javafx,javafx-8,line,Animation,Javafx,Javafx 8,Line,我试着在javafx上用动画将一条线缩短到一边。我希望起点保持在原地,终点离起点更近。我找不到合适的过渡。所以我用了这段代码: PathTransition pt = new PathTransition(Duration.millis(1000), new Line(x1*3/4, y, x1, y), line); pt.play(); ScaleTransition stBig = new ScaleTransition();
PathTransition pt = new PathTransition(Duration.millis(1000), new Line(x1*3/4, y, x1, y), line);
pt.play();
ScaleTransition stBig = new ScaleTransition();
stBig.setNode(line);
stBig.setFromX(2);
stBig.setToX(0.25);
stBig.setDuration(new Duration(1000));
stBig.play();
但它不起作用。我可以在一种类型的转换中完成吗?或者有什么解决方法吗?由于行是水平的,您只需要更改
endX
属性,您可以使用一个简单的:
即使您需要同时设置endX
和endY
属性的动画,也不会复杂得多:
Line line = new Line(100, 100, 300, 300);
Timeline animation = new Timeline(
new KeyFrame(Duration.seconds(1),
new KeyValue(line.endXProperty(), 100),
new KeyValue(line.endYProperty(), 100))
);
作为一个动画,它确实工作得很好,但是有可能通过它来检测碰撞吗?我环顾四周,但找不到一个方法来做这件事,我自己的尝试也不起作用。
Line line = new Line(100, 100, 300, 300);
Timeline animation = new Timeline(
new KeyFrame(Duration.seconds(1),
new KeyValue(line.endXProperty(), 100),
new KeyValue(line.endYProperty(), 100))
);