2015-10-17 55 views
2

我建立一个应该在我的树莓派已经有7" 显示连接运行JavaFX应用程序。 为了更好的造型我想动画一个javafx.scene.effect.GaussianBlur - 效应。动画渲染效果JavaFX中

我它“工作”,虽然现在(在我的笔记本电脑,甚至没有谈到Pi)性能非常差(动画期间低FPS)。或者这些效果是不是应该是动画?

GaussianBlur blur = new GaussianBlur(0); 
backgroundPane.setEffect(blur); 
DoubleProperty value = new SimpleDoubleProperty(0); 
value.addListener((observable, oldV, newV)-> 
{ 
    blur.setRadius(newV.doubleValue()); 
}); 

Timeline timeline = new Timeline(); 
final KeyValue kv = new KeyValue(value, 30); 
final KeyFrame kf = new KeyFrame(Duration.millis(200), kv); 
timeline.getKeyFrames().add(kf); 
timeline.play(); 

FYI:该bakcgroundPlane是在这个阶段通过CSS添加只是一个背景图像窗格:

.background 
{ 
    -fx-background-image: url("images/bg.png"); 
    -fx-background-repeat: stretch; 
    -fx-background-size: 800 480; 
    -fx-background-position: center center; 
} 

编辑: 似乎问题并没有进行相关的CSS。它仍然发生,当我在FXML中设置图像...

+3

是否有任何具体的原因,你定义一个DoubleLayout与一个changeListener,你动画,强制改变的半径?直接在GaussianBlur上使用radiusProperty。 – hotzst

+0

如果您提供[mcve](http://stackoverflow.com/help/mcve),您将有更好的机会获得帮助。我知道你目前的问题有足够的信息让有人可以复制它,但是现在对于有人来说这样做比为了将简单,完整,可用,可编译的代码复制并粘贴到他们的机器上更有用。如果潜在的回答者需要做更多的工作来复制您的问题,那么您获得良好答案的机会就会减少。 – jewelsea

回答