pygame图片背景与主背景不匹配

缺口

我有一个透明背景的图像。当我将图像放大到游戏背景上时,透明背景出现在屏幕上(请参见下图)

在此处输入图片说明

这是我的代码:

import sys
import pygame

def runGame():
    """ Function for running pygame """

    pygame.init()
    screen = pygame.display.set_mode((1200, 800))
    pygame.display.set_caption("Car Simulator")
    image = pygame.image.load('./car1.bmp').convert()

    bg_color = (230,230,230)

    # Start main loop for the game
    while True:

        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                sys.exit()
        

        screen.blit(image, (50,100))
        
        pygame.display.flip()


runGame()

起初我以为是因为我没有使用该convert()方法。但是我仍然有同样的问题。关于如何获取图像背景以匹配屏幕背景的任何想法。任何帮助,将不胜感激。谢谢。

拉比德76

如果背景具有统一的颜色,则可以通过设置透明色键pygame.Surface.set_colorkey对于instnace,如果背景是白色(255、255、255):

image = pygame.image.load('./car1.bmp').convert()
image.set_colorkey((255, 255, 255))

无论如何,如果背景有多种颜色都无法解决问题。

我建议使用支持每个像素alpha的图像格式。例如PNG(便携式网络图形)

image = pygame.image.load('./car1.png').convert_alpha()

另请参阅如何在Pygame中使用透明Backround制作图像?

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章