gpt4 book ai didi

java - 时间轴动画未按预期工作

转载 作者:行者123 更新时间:2023-12-01 14:29:51 25 4
gpt4 key购买 nike

我已经很久没有来这里了,当然是直到现在。

问题是,有一段代码我拼命想让它工作:

private Timeline timeline = createTimeline();
timeline.play();
public Timeline createTimeline() {
Timeline timeline = new Timeline();
timeline.setDelay(new Duration(1000));
timeline.getKeyFrames().addAll(
new KeyFrame(Duration.ZERO, new KeyValue(imageProperty(), moveOneStep())),
new KeyFrame(new Duration(250), new KeyValue(imageProperty(), moveOneStep())));
timeline.setCycleCount(Timeline.INDEFINITE);
return timeline;
}
public Image moveOneStep() {
return getNextImage();
}
private Image getNextImage() {
imgCount++;
if (imgCount > 2)
imgCount %= 3;
return images[imgCount];
}

问题是,尽管我尝试将关键帧之前和之后的循环计数设置为不确定,但它似乎根本没有重复。我对此有点困惑。

提前致谢。

最佳答案

看来您需要定义一个“关闭关键帧”,以便最后一个关键帧之前的关键帧可以播放。我怀疑这是“设计使然”还是一个错误。

timeline.getKeyFrames().addAll(
new KeyFrame(Duration.ZERO, new KeyValue(imageProperty(), moveOneStep())),
new KeyFrame(new Duration(250), new KeyValue(imageProperty(), moveOneStep())),
new KeyFrame(new Duration(500));

您可以使用 ChangeListener 跟踪任何属性的更改,例如:

imageProperty().addListener(new ChangeListener<Image>() {
@Override
public void changed(ObservableValue<? extends Image> observable, Image oldValue, Image newValue) {
System.out.println("imageProperty oldValue " + oldValue);
System.out.println("imageProperty newValue " + newValue);
System.out.println("");
}
});

关于java - 时间轴动画未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16940415/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com