我刚刚开始使用JavaFX,像往常一样,在学习一门新语言时,我开始了一个小项目。
据我了解
at(0ms) {
//change values
},
只是
的捷径 KeyFrame {
time : 0ms
values : //change values
}
那么为什么我的代码移动pacman会根据我使用的方法做两个完全不同的事情?第一个版本按预期工作(向正确的方向移动并打开/关闭他的嘴),而第二个版本搞砸了(startAngle没有改变,他停留在他的位置,但长度变量发生变化)
at(0ms) {
startAngle => angle + 45;
length => 360 - 90;
},
at(150ms) {
startAngle => angle;
length => 360;
}
at(300ms) {
startAngle => angle + 45;
length => 360 - 90;
row => newRow;
column => newColumn;
}
KeyFrame {
time : 0ms
values : {
startAngle => angle + 45;
length => 360 - 90;
}
},
KeyFrame {
time : 150ms
values : {
startAngle => angle;
length => 360;
}
},
KeyFrame {
time : 300ms
values : {
startAngle => angle + 45;
length => 360 - 90;
row => newRow;
column => newColumn;
}
},
如果我们在这,我怎样才能创建具有可变时间值的时间轴?我尝试使用Duration变量,但这不会像它应该的那样工作。例如。时间:1000毫秒与时间完全不同:timePerMove with var timePerMove:Duration = valueOf(1000);
答案 0 :(得分:1)
好的,发现自己: 你不能写像
这样的东西 values : {
startAngle => angle;
length => 360;
}
它确实编译但它不能按预期的方式工作。