JavaFX中的TranslateTransition不起任何作用

JavaFX中的TranslateTransition不起任何作用,javafx,imageview,translate-animation,Javafx,Imageview,Translate Animation,我正在尝试使用JavaFX中的TranslateTransition对象在我正在构建的徽标程序中移动屏幕上的对象。我有一个屏幕上的TurtleDisplay对象,它扩展了ImageView,这就是我试图移动的对象。移动它的代码如下所示: public void drawTurtle(TurtleData currentData) { TurtleImage inList = getTurtleImage(currentData); if (inList==null) {

我正在尝试使用JavaFX中的TranslateTransition对象在我正在构建的徽标程序中移动屏幕上的对象。我有一个屏幕上的TurtleDisplay对象,它扩展了ImageView,这就是我试图移动的对象。移动它的代码如下所示:

 public void drawTurtle(TurtleData currentData) {
    TurtleImage inList = getTurtleImage(currentData);

    if (inList==null) {
        TurtleImage temp = new TurtleImage(currentData.getX(),
                currentData.getY(), currentData.getHeading(), turtleImage);
        myTurtlesGroup.getChildren().add(temp);
        myTurtlesList.add(temp);
    }
    else {
        TranslateTransition tt = new TranslateTransition(Duration.seconds(3),inList);
        tt.setFromX(inList.getX());
        tt.setFromY(inList.getY());
        tt.setToX(inList.getX()+currentData.getX());
        tt.setToY(inList.getY()+currentData.getY());
        tt.setCycleCount(Timeline.INDEFINITE);
        tt.play();
    }
}
此代码是前端的一部分,通过ObservableList上的侦听器从后端调用。后端包含TurtleData对象的可观察列表,其中包含在屏幕上移动海龟所需的信息-移动哪个海龟、移动到哪个坐标以及海龟的旋转。调用此函数的代码如下所示:

 ObservableList<TurtleData> myTurtles = FXCollections
            .observableArrayList();
    myTurtles.addListener(new ListChangeListener<TurtleData>() {
        @Override
        public void onChanged(Change<? extends TurtleData> c) {
            myDisplay.getSelectedWorkspace().getTV().clearTurtles();
            while (c.next()) {
                for (TurtleData addItem : c.getAddedSubList()) {
                    myDisplay.getSelectedWorkspace().getTV().drawTurtle(addItem);
                }
            }
        }
    });

我已经使用了一个调试器,并确保调用了该代码——特别是tt.play行。屏幕上什么也不动。有人知道怎么回事吗?我需要设置动画时间线吗?谢谢你的帮助

如果TurtleImage是ImageView的一个子类,那么getX和getY可能没有按照您的想法进行操作。但是,只要currentData.getX或currentData.getY不为零,您就应该看到某些东西在移动。我会检查这些值,并确保您在list.getScene中获得了对正确图像实例检查的引用,以确保您有一个作为场景图一部分的图像。如果您编辑您的问题,某人可以复制并粘贴到其中执行并运行,那么某人将更容易回答。我会说你画海龟的代码有点奇怪,你对前端和后端的使用也很模糊。关于使用过渡、时间线和使用动画计时器的具体建议-您的问题中没有足够的上下文来提供建议-您可能需要为此专门提出一个新问题。也许这样,沿随机路径移动节点可能有助于您更好地理解动画系统,但可能没有,这与您的问题有点不同,而另一个问题可能具有您的问题可能没有的无限和动态的性质,因此您的问题的解决方案可能更简单。