Shokhrukh Valiev
Shokhrukh Valiev

Reputation: 107

Transparent background not disappearing when displayed on pygame window

I am creating a car game and have come across a problem. I've added a car image with a transparent background into my code but the car appears on the screen with the transparent background visible. I want to make the background to disappear. This is a link to the image: https://www.pngfind.com/mpng/bboJib_car-top-view-png-audi-transparent-png/

Here is the code:

import pygame
pygame.init()
import pygame
pygame.init()

black = (0, 0, 0)

#screen
screen_width = 600
screen_length = 800
screen = pygame.display.set_mode((screen_length, screen_width))
clock = pygame.time.Clock()
FPS = 60

#the car i am having trouble with
car2Img = pygame.image.load('car2.png')
car2_X = 0
car2_Y = 0 
carX_change = 0

def car2(x, y):
    screen.blit(car2Img, (x, y))



running = True
while running:
    screen.fill((119, 118, 110))
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False


    car2(car2_X, car2_Y)
    clock.tick(FPS)
    pygame.display.update()

pygame.quit() 

Upvotes: 3

Views: 555

Answers (1)

Pzet
Pzet

Reputation: 490

In order to remove the background from a png image you must use the convert_alpha() function when loading it:

car2Img = pygame.image.load('car2.png').convert_alpha()

If your image doesn't contain alpha then you can use a color key to remove the background:

car2Img.set_colorkey(colorOfBackground)

Upvotes: 3

Related Questions