我是python的新手,并创建了一个小游戏。我想添加背景图像,但是不起作用。图片不显示。
我用以下代码尝试过:
background = pygame.image.load("images\\background.png")
screen.blit(background,(0,0))
答案 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
希望对您有所帮助!