Javafx在每个时间线之间暂停;循环;
目前,我有一个图像列表,其中显示了一定时间的时间线。然而,我想在每次之后有一个小的暂停,没有图像显示?有没有办法实现这种行为 以下是我目前使用的代码:Javafx在每个时间线之间暂停;循环;,java,javafx,Java,Javafx,目前,我有一个图像列表,其中显示了一定时间的时间线。然而,我想在每次之后有一个小的暂停,没有图像显示?有没有办法实现这种行为 以下是我目前使用的代码: ImageView imView = new ImageView(); Duration timeBetweenImages = Duration.millis(10000); Timeline timeline = new Timeline(); for (int i = 0; i < imageList.size(); i++) {
ImageView imView = new ImageView();
Duration timeBetweenImages = Duration.millis(10000);
Timeline timeline = new Timeline();
for (int i = 0; i < imageList.size(); i++) {
Image image = imageList.get(i);
Duration frameTime = timeBetweenImages.multiply(i);
KeyFrame frame = new KeyFrame(frameTime, e -> imView.setImage(image));
timeline.getKeyFrames().add(frame);
}
timeline.play();
ImageView imView=newimageview();
持续时间间隔图像=持续时间。毫秒(10000);
时间线=新时间线();
对于(int i=0;iimView.setImage(图像));
timeline.getKeyFrames().add(frame);
}
timeline.play();
到目前为止,每张图片显示10秒。我希望在每10秒暂停一次后,暂停1秒,不显示任何图像。ImageView imView=new ImageView();
ImageView imView = new ImageView();
Duration timeBetweenImages = Duration.seconds(11);
Duration pauseTime = Duration.seconds(1);
Timeline timeline = new Timeline();
for (int i = 0; i < imageList.size(); i++) {
Image image = imageList.get(i);
Duration frameTime = timeBetweenImages.multiply(i);
KeyFrame frame = new KeyFrame(frameTime, e -> imView.setImage(image));
timeline.getKeyFrames().add(frame);
Duration pauseFrameTime = timeBetweenImages.multiply(i+1).subtract(pauseTime);
KeyFrame pauseFrame = new KeyFrame(pauseFrameTime, e -> imView.setImage(null));
timeline.getKeyFrames().add(pauseFrame);
}
timeline.play();
持续时间timeBetweenImages=持续时间。秒(11);
持续时间pauseTime=持续时间。秒(1);
时间线=新时间线();
对于(int i=0;iimView.setImage(图像));
timeline.getKeyFrames().add(frame);
持续时间pauseFrameTime=图像之间的时间。乘(i+1)。减(pauseTime);
KeyFrame pauseFrame=新关键帧(pauseFrameTime,e->imView.setImage(null));
timeline.getKeyFrames().add(pauseFrame);
}
timeline.play();
您知道是否可以将此功能与转换功能结合使用吗?我在ImageView中添加了一个旋转转换,需要6000毫秒,但遗憾的是,时间已经停止了:(我应该这样做:显示图像并将其旋转360度,然后暂停1秒,接下来的图像也是如此。不要使用旋转转换
,只需将关键帧添加到使用新键值的时间线
(imView.rotateProperty,value)
。它不适用于旋转转换
?因为以后我需要使用并行转换
,以便同时执行多个转换。我认为这很难做到。一个旋转转换
表示一个(“一次性”)旋转。你需要以离散的间隔进行多次旋转。我只想在现有的时间轴上添加关键帧。好的,再次感谢你,它像一个符咒一样与旋转一起工作:)这将是最好的演示。