在Pygame中撤消颜色混合

时间:2018-12-15 02:22:10

标签: python-3.x colors pygame

在我正在使用pygame的游戏中,我正在尝试添加Hitflash。对于那些不了解它的人来说,击闪是一种效果,敌人将这种颜色(通常是白色)闪烁大约半秒钟(不要引述我的意思,这是我的描述方式)。可以使用Surface.fill()函数通过传入附加参数来完成。为了实现Hitflash效果,我用白色填充图像并将其混合。但是,我不知道如何将图像还原为与白色混合之前的图像。我可以轻松地创建原始图像的副本并加载未混合的原始图像,但是我发现这对于我正在使用的图像而言效率太低。有没有一种方法/功能可以取消混合(即将混合图像恢复为正常)?

1 个答案:

答案 0 :(得分:1)

Entry.Text?.Replace(',', '.'); 对表面进行修饰会对其进行修改,因此,当对象受到损坏时,建议将图像换成更亮的版本。在while循环之前创建明亮版本,或加载图像的另一个版本,然后通过将当前图像分配给另一个变量来交换它。

您可能还需要一个计时器来控制将图像重置为原始版本的速度。

我建议您在Sprite类中执行此操作,而不是在while循环中进行操作,如下面的最小示例所示。

fill