2015-10-17 95 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

回答