首页 文章

如何在Python / PyGame中增加Alpha掩码的大小?

提问于
浏览
0

我正在使用Pygame创建一个2D地牢爬行器,我想使用主角作为光源(所以你只能看到你周围的少量地下城) . 我已经创建了一个alpha蒙版,但无论我制作多大的alpha蒙版,它对光源的大小没有任何影响,而且太小了 . 有没有更好的方法在PyGame中做到这一点,还是我忽略了什么?

这是我的测试代码:

import pygame

pygame.init()

screen = pygame.display.set_mode((819, 614))
background = pygame.image.load('Test.png')
light = pygame.image.load('Light_Source.png')
overlay_colour = [73, 92, 115]


while True:
    for e in pygame.event.get():
        if e.type == pygame.QUIT:
            break
    else:
        screen.blit(background, (0, 0))
        overlay = pygame.surface.Surface((819, 614))
        overlay.fill(overlay_colour)
        overlay.blit(light, (300, 250))
        screen.blit(overlay, (0, 0), special_flags=pygame.BLEND_RGBA_SUB)
        pygame.display.flip()
        continue
    break

这是我的测试屏幕(Test.png):

Test.png

这是我的alpha蒙版目前的样子:

Alpha_Mask.png

这是我的alpha蒙版(Light_Source.png):

Light_Source.png

正如你所看到的,它非常蹩脚 . 但是增加Light_Source.png文件的尺寸没有任何效果,也没有扩展alpha渐变来填充更多图像 . 我无法弄清楚为什么这不起作用 . 我是否用错误的颜色填充了叠加层?有谁能看到问题?还是有更好的方法来做到这一点?

1 回答

  • 1

    我不知道为什么它不适合你 . 我刚刚将文件更改为

    enter image description here

    而输出是

    http://imgur.com/qK8D6qR

    我改变的比较:

    http://imgur.com/F6nv5uw

相关问题