When specifying a Timeline.time value in a timeline, the value is taken
into account after first initializing to the first value in a keyFrame.
The following code
====================================
import javafx.animation.Timeline;
import javafx.lang.Duration.*;
import javafx.animation.KeyFrame;
var Number:Integer = 21;
var dur:Duration = 21s;
var timeline = Timeline{
repeatCount: 5
autoReverse: true
time: dur
keyFrames: [
at (0s) {Number => 0 },
at (26s) {Number => 26} ],
}
timeline.play();
var currentPlayHead = bind Number on replace {
println("Number change:");
println(Number);
}
==========================================
would print:
Number change:
0
Number change:
21
Number change:
22
Number change:
23
....
when expected to start directly with Number value 21.
into account after first initializing to the first value in a keyFrame.
The following code
====================================
import javafx.animation.Timeline;
import javafx.lang.Duration.*;
import javafx.animation.KeyFrame;
var Number:Integer = 21;
var dur:Duration = 21s;
var timeline = Timeline{
repeatCount: 5
autoReverse: true
time: dur
keyFrames: [
at (0s) {Number => 0 },
at (26s) {Number => 26} ],
}
timeline.play();
var currentPlayHead = bind Number on replace {
println("Number change:");
println(Number);
}
==========================================
would print:
Number change:
0
Number change:
21
Number change:
22
Number change:
23
....
when expected to start directly with Number value 21.
- relates to
-
JDK-8105668 Timeline implementation can't set key values to current value on play()
-
- Resolved
-
-
JDK-8105971 Can't use dynamic values or binding for "the part after the =>'" in animations
-
- Closed
-