如何在处理3中制作2D手电筒效果

2022-03-11 00:00:00 mask background java processing

作为参考,我要实现的效果是:

我在Processing 3中工作,不是p5.js。 我在处理论坛中四处寻找,但是我找不到任何可以在当前版本中工作或者没有使用PGraphics的东西,而且从我读到的内容来看,使用起来可能很昂贵。

我目前的想法和实现导致在玩家周围绘制形状,并用一个没有填充的圆圈填充空白,这个圆圈有很大的笔划粗细。

有没有人知道什么方法可以轻松、廉价地在除小圆形区域以外的所有东西上绘制黑色背景?

如果这不是问这个问题的地方,我想就送我上路吧,不过请友好点。谢谢您:)


解决方案

您可以创建一个主要由黑色组成的图像(或PGraphics),其中有一个透明的圆圈。这称为image masking或alpha compositing。在Google图像中搜索"alpha Composite"会返回一系列我所说的图像。

无论如何,在获得图像之后,只需将其绘制在场景之上,无论播放器在哪里。您还可以使用PImage#mask()函数。有关详细信息,请参阅the reference。

相关文章