时间表的简短版本

时间:2010-01-01 14:52:39

标签: javafx

我刚刚开始使用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);

1 个答案:

答案 0 :(得分:1)

好的,发现自己: 你不能写像

这样的东西
                    values : {
                        startAngle => angle;
                        length => 360;
                    }

它确实编译但它不能按预期的方式工作。