Как вращать 3D-объект в режиме реального времени с помощью ползунков? - PullRequest
0 голосов
/ 02 мая 2019

Я пытаюсь вращать цилиндр вокруг выбранной оси, которая задается пользователем с помощью ползунков, но я не могу заставить слушателей анимации и ползунков взаимодействовать.

Я пытался использовать слушатели на ползунках, а также обычный .getValue (), но в моей текущей установке ни один из них не работает. Делать это без ползунков, то есть работать с фиксированными значениями, казалось, работает очень хорошо.

i.valueProperty().addListener //example of my slider listener (there are four: x, y, z and speed of rotation)
            ( 
                    new ChangeListener<Number>() 
                    { 

                   public void changed(ObservableValue <? extends Number >  
                             observable, Number oldValue, Number newValue) 
                   { 

                       x = (double) newValue; 
                   } 
               }); 
                    final Timeline rotationAnimation = new Timeline();
                    rotationAnimation.setCycleCount(Animation.INDEFINITE);

                    KeyValue keyValue = new KeyValue(rotate.angleProperty(),360);

                    Duration duration = Duration.seconds(speed);

                    EventHandler<ActionEvent> onFinished = new EventHandler<ActionEvent>() 
                        {
                            public void handle(ActionEvent t) 
                            {
                                x = (double) i.getValue();
                                y = (double) j.getValue();
                                z = (double) k.getValue();

                                speed = (double) 1/v.getValue();
                            }
                        };

                    KeyFrame keyFrame = new KeyFrame(duration, onFinished , keyValue);


                        rotationAnimation.getKeyFrames().add(keyFrame);

                        rotationAnimation.play();

I want my cylinder to rotate freely, at this point I just get blank window.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...