JavaFX沿着有角度的路径将对象移动到某个值

时间:2015-06-24 03:02:28

标签: java javafx javafx-8

我没有基本代码或示例从这开始....只是在脑海中抛出这个想法。

所以我会有一个类似滑块的东西......呈30度角,需要一个条或物体沿着那个路径移动到一定的百分比或值。

从我有限的知识来看,我认为我需要使用内插器......但是我甚至可以从哪里开始呢?

我的目标是给方法一个值,比如在1和100之间。然后将对象或条形图设置为路径上的那个位置。像条形图,但用作衡量标准。

1 个答案:

答案 0 :(得分:0)

只是更新......

我最后使用一些旧的数学进行了更加手动的路线。 :) 考虑到我知道需要移动多少杆,以及它需要移动的角度。 Sin和Cos是我的朋友。

似乎也很快做出反应和平稳!

           double oldx = RBar.getX();
           double oldy = RBar.getY();
           double  moveval = oldacc + averageACC;
           double angle = -30 * Math.PI / 180;
           double newx = oldx - moveval * Math.sin(angle);
           double newy = oldy - moveval * Math.cos(angle);
           double  movex = newx + oldx;
           double movey = newy + oldy;


           Platform.runLater(new Runnable() {
               @Override
               public void run() {
                   final Timeline timeline = new Timeline();
                   timeline.setCycleCount(1);
                   timeline.setAutoReverse(true);
                   final KeyValue targetkvx = new KeyValue(RBar.translateXProperty(), movex);
                   final KeyValue targetkvy = new KeyValue(RBar.translateYProperty(), movey);
                   final KeyFrame kf = new KeyFrame(Duration.millis(100), targetkvx, targetkvy);
                   timeline.getKeyFrames().add(kf);
                   timeline.play();
               }
           });
           oldacc = averageACC;

感谢让我走上正确的道路!!!