【问题标题】:efficient javafx fadetransition高效的 javafx fadetransition
【发布时间】:2014-08-22 12:18:43
【问题描述】:

我有大量节点,目前正在使用下面的淡入淡出过渡代码,

ft1 = new FadeTransition(Duration.millis(500), hBox_outter_last);
                                       ft1.setFromValue(1.0);
                                        ft1.setToValue(0.3);
                                        ft1.setCycleCount(Animation.INDEFINITE);
                                        ft1.setAutoReverse(true);
                                       ft1.play();

但是这很消耗 CPU,并且被告知我可以使用以下内容,但这不起作用,任何人都可以帮助解决这个问题

DoubleProperty opacity = new SimpleDoubleProperty();
Transition opacityTransition = new Transition() {
    protected void interpolate(double frac) {
        opacity.set(frac);
    }
};

// elsewhere
hBox_outter_last.opacityProperty().bind(opacity);

【问题讨论】:

    标签: javafx fade


    【解决方案1】:

    您还需要设置cycleDuration(我假设您在某处调用play()...):

    Transition opacityTransition = new Transition() {
        {
            setCycleDuration(Duration.seconds(1));
        }
        protected void interpolate(double frac) {
            opacity.set(frac);
        }
    };
    

    如果还是不行,请发帖MCVE

    【讨论】:

    • 我认为这就是过渡的目的...也许我不明白您要做什么。
    • 在使用 setCycleCount(Animation.INDEFINITE); 时仍然消耗大量 CPU 时间;
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-02
    • 1970-01-01
    • 1970-01-01
    • 2019-11-29
    • 2014-01-26
    • 1970-01-01
    相关资源
    最近更新 更多