旋转魔方立方体的构成立方体

时间:2015-12-07 22:15:58

标签: animation 3d rotation javafx-8

我通过安排较小的立方体制作了一个魔方。现在我想对它应用动画。为此,我选择使用Rotate类并设置旋转角度和旋转轴,如下所示

ar[12].setRotationAxis(Rotate.X_AXIS);//The array elements refer to the small cubes which make up the Rubik's cube.These elements represent the left face.
        ar[13].setRotationAxis(Rotate.X_AXIS);
        ar[14].setRotationAxis(Rotate.X_AXIS);
        ar[15].setRotationAxis(Rotate.X_AXIS);
        Rotate rotation1 = new Rotate(90);
        rotation1.setAxis(Rotate.X_AXIS);

然后我将旋转应用为动画,就像这样

Timeline timeline = new Timeline(
                new KeyFrame(Duration.seconds(2), new KeyValue(ar[12].rotateProperty(), 90)),
                new KeyFrame(Duration.seconds(2), new KeyValue(ar[13].rotateProperty(), 90)),
                    new KeyFrame(Duration.seconds(2), new KeyValue(ar[14].rotateProperty(), 90)),
                    new KeyFrame(Duration.seconds(2), new KeyValue(ar[15].rotateProperty(),  90)));
             timeline.play();

但是有了这个,我得到了结果 this。 据我所知,我对每个立方体都得this,但我对每个立方体的要求是立方体必须围绕它们的边缘旋转90度。我怎样才能做到这一点?另外一个问题是,只需点击一下鼠标,动画就不会再次出现。我该如何解决这个问题?

0 个答案:

没有答案