【发布时间】:2023-03-16 00:56:01
【问题描述】:
我目前正在重新制作几年前使用 Swing/AWT 制作的游戏,这次使用的是 JavaFX。我目前的困境是原始游戏有一个“手电筒”,我首先在其中创建了一个空白黑色图层,然后我将在该图层上创建一个多边形并使用混合模式从该图层中减去它。从那里开始,图层被绘制成透明的,看起来一切都是黑暗的,玩家有一个手电筒。
我无法弄清楚如何在 JavaFX 中实现这一点。我想我可以创建一个空白的黑色图像,并且有办法从中创建一个 GraphicsContext,我可以设置一个混合模式来从图像中减去,但是图像不支持 JavaFX 中的这种类型的渲染,并且在事实上,WritableImage 是一个单独的类,它只允许使用 PixelWriter,我必须手动设置每个像素。
我知道关于 JavaFX 可能还有很多我不了解的地方,因为我之前只用它制作了几个应用程序。有人对如何实施此功能有任何建议吗?要是能比原版好看就好了。
这是旧游戏中的图片供参考。
【问题讨论】: