pygame-添加背景图片

时间:2019-10-08 20:44:33

标签: python pygame

我是python的新手,并创建了一个小游戏。我想添加背景图像,但是不起作用。图片不显示。

我用以下代码尝试过:

background = pygame.image.load("images\\background.png")
screen.blit(background,(0,0))

2 个答案:

答案 0 :(得分:2)

问题中的代码并未真正说明问题。但是,如果代码生成错误:

  

background = pygame.image.load('images / background.png')
  pygame.error:无法打开images / background.png

然后就是PyGame无法找到指定的图像文件。

但是我希望您的代码不会通过调用pygame.display.flip()

来“刷新”窗口/屏幕的更新。
import pygame

# Window size
WINDOW_WIDTH      = 400
WINDOW_HEIGHT     = 400

### MAIN
pygame.init()
SURFACE = pygame.HWSURFACE|pygame.DOUBLEBUF|pygame.RESIZABLE
window  = pygame.display.set_mode( ( WINDOW_WIDTH, WINDOW_HEIGHT ), SURFACE )
pygame.display.set_caption("Background Image")

background_image = pygame.image.load('images/grass.png')

clock = pygame.time.Clock()
done = False
while not done:

    # Handle user-input
    for event in pygame.event.get():
        if ( event.type == pygame.QUIT ):
            done = True

    # Movement keys
    keys = pygame.key.get_pressed()
    if ( keys[pygame.K_UP] ):
        print("up")
    #elif ...

    # Update the window, but not more than 60fps
    window.blit( background_image, ( 0,0 ) )
    pygame.display.flip()                    # <-- Flush drawing ops to the screen

    # Clamp FPS
    clock.tick_busy_loop( 60 )

pygame.quit()

注意倒数第四行。

答案 1 :(得分:0)

在StackOverflow上查看this页。它具有多种解决方案供您使用。我在这里写一个。

您可以将图像设置为游戏窗口的大小,然后在显示其他任何图像之前,将其调为(0,0)。

bg = pygame.image.load("background.png")

#INSIDE OF THE GAME LOOP
gameDisplay.blit(bg, (0, 0))

#OTHER GAME ITEMS

希望对您有所帮助!