java - RotateTransition 当前角度 javafx2

标签 java animation javafx-2

我正在使用 RotateTransition 旋转图像,如果 (x,y) 最初是该图像上某个点的位置,并且该位置将随着图像旋转而不断变化。 我想在任何给定时间知道该点的位置。 如何获得点的新位置?

    ImageView wheel= new ImageView();
    wheel.setImage(image);

    rotateTransition = new RotateTransition(Duration.seconds(10), wheel);
    rotateTransition.setFromAngle(0);
    rotateTransition.setToAngle(360);
    rotateTransition.setInterpolator(Interpolator.LINEAR);
    rotateTransition.setCycleCount(Timeline.INDEFINITE);

//我目前使用的方法似乎不准确:

    rotateTransition.currentTimeProperty().addListener(
     new ChangeListener<Duration>() {public void changed(ObservableValue<? extends Duration> ov, Duration t, Duration t1) {
            double degree = ((360 * t.toSeconds()) / 10);
            xVal.set(((120) * Math.cos(degree * (Math.PI / 180))) + 162.5);
            yVal.set(((120) * Math.sin(degree * (Math.PI / 180)) + 162.5)); 
        }

最佳答案

要获取当前的旋转角度,您应该使用 rotateProperty ImageView 的:

    wheel.rotateProperty().addListener(new ChangeListener<Number>() {
        @Override
        public void changed(ObservableValue<? extends Number> observable, 
                            Number oldValue, 
                            Number newValue) {
            System.err.println("Rotation of " + newValue + " degrees");
        }
    });

关于java - RotateTransition 当前角度 javafx2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15226014/

相关文章:

java - 在带有旋转动画的 Activity 之间切换

javafx-2 - 如何在 JavaFX 中实现可以处理任何 EventType 的真正自定义事件处理程序?

java - 数据库密码存储问题,Java Web App

java - 将嵌套的 Java 对象序列化为 json

ios - 修复了 UIPageViewController 的背景滚动效果

css - 无法让边框在 TableCell javafx 2 中左右或上下不同

JavaFx 组合框下拉列表宽度在第一次单击组合框时较小

java - 过滤器被 Tomcat 容器多次调用

java - Transformer.transform() 将第一个标签写入与 <?xml> 同一行

javascript - 如何添加条件转换?