我正在使用 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));
}