Jos*_*son 5 java javafx redraw
我一直在使用新的JavaFx 3D api.JavaFx 8引入了子场景节点,它包含自己的场景图,可以同时渲染为场景中的节点.这允许您在子场景中使用透视摄像机渲染3D节点,同时将HUD节点渲染到顶部正交.这可以正常工作,直到您尝试移动HUD组件.如果子场景中的节点没有移动,JavaFx将不会重绘它.所以它只留下了HUD曾经存在的黑色文物.有没有办法强制重新绘制子场景?
编辑:我设法解决问题的一种方法是在屏幕上渲染无限旋转的立方体.因为它始终在旋转,所以子场景总是在更新.这似乎是一种修复它的荒谬方式,但它是我现在能做的最好的方法.仍在寻找更好的解决方案......
Node.setCache(boolean)将完成这项工作,并在移动 HUD 组件后清除黑色伪像。使用 带有缓存提示的缓存,例如在开始移动之前,将缓存提示设置为SPEED 一旦完成动画,您切换回QUALITY,它将重新渲染您的节点(就像 swing 中的 repaint() 一样)