2014-10-20 25 views
5

Pracowałem z nowym apletem JavaFx 3D. JavaFx 8 wprowadził węzeł subscene, który zawiera własny wykres sceny i może być jednocześnie renderowany jako węzeł w scenie. Umożliwia to renderowanie węzłów 3D za pomocą kamery perspektywicznej w podscenie podczas renderowania węzłów HUD w najwyższej ortogonalności. Działa to dobrze, dopóki nie spróbujesz przenieść komponentów HUD. Jeśli węzły w podscenie nie zostały przeniesione, JavaFx nie przerysuje go. Po prostu pozostawia czarne artefakty tam, gdzie kiedyś był HUD. Czy istnieje sposób na wymuszenie przerysowania tej podsceny?Wymuszenie odświeżenia węzła w JavaFx

EDYCJA: Jednym ze sposobów, w jaki udało mi się rozwiązać problem, jest renderowanie sześcianu poza ekranem, który kręci się w nieskończoność. Ponieważ zawsze się kręci, subscena jest zawsze aktualizowana. Wydaje się to niedorzecznym sposobem, aby to naprawić, ale jest to najlepsze, co mogę teraz zrobić. Nadal szukam lepszych rozwiązań ...

+0

Utwórz [MCVE] (http://stackoverflow.com/help/mcve) i zaloguj się do [raportu o błędzie] (https://wiki.openjdk.java.net/display/OpenJFX/Submitting+ a + Bug + Report) z informacjami o twoim środowisku. – jewelsea

Odpowiedz

0

Node.setCache(boolean) wykona zadanie i wyczyści czarne artefakty po przeniesieniu komponentów HUD. użycie buforowanie z Cache hints, na przykład przed rozpoczęciem ruchu, ustawić wskazówkę cache do SPEED Gdy skończysz z animacją przełączyć z powrotem do QUALITY, zostanie on ponownie renderować węzeł (jak repaint() w swing)