首页 > 解决方案 > 如何在不添加更多窗格的情况下在 ImageView JavaFx 中对图像切换进行动画处理

问题描述

我对 JavaFx 中的动画非常不满意,无论如何我都知道该怎么做,问题是我最终会使用 stackPane,为每个图像创建一个不同的 ImageView 并通过执行以下操作进行切换:

  KeyValue kv= new KeyValue(slotView[i].translateYProperty(), 0, Interpolator.EASE_IN);
  KeyFrame kf= new KeyFrame(Duration.seconds(1),kv);
  timeline.getKeyFrames().add(kf);
  timeline.play();

但是考虑到我正在编写一个带有许多卷轴和轮盘赌的老虎机,使用这意味着创建太多的窗格,我很确定,必须有一种简单的方法来做到这一点。因此,例如,在这种情况下,我将如何添加像插槽卷轴这样的动画(新图像从上到下进入 imageView)。

                  for (int i = 0; i < slotResult.length; i++) {
                        switch (slotResult[i]) {
                            case "Diamond" -> {
                                slotView[i].setImage(diamondImg);
                            }
                            case "Gold" -> {
                                slotView[i].setImage(goldImg);
                            }
                            case "Money" -> {
                                slotView[i].setImage(moneyImg);
                            }
                            case "Coin" -> {
                                slotView[i].setImage(coinImg);
                            }
                            case "Bell" -> {
                                slotView[i].setImage(bellImg);
                            }
                        }
                    }
    ```

标签: javaimageanimationjavafximageview

解决方案


推荐阅读