为什么这行不通?- 通过变量使用 .blit



使用变量打印某些内容应该在python中起作用。为什么当我运行代码时它不起作用?变量名称为块状。如果这个问题可以解决,我该怎么办?谢谢。

这是代码:

import pygame
pygame.init()
window = pygame.display.set_mode((800,600))
image = pygame.image.load("o1.png")
bliting = window.blit(image, (0,0))
gameLoop = True
while gameLoop:
for event in pygame.event.get():
if (event.type == pygame.QUIT):
gameLoop = False
#why does typing in the variable name "bliting" not blit my image?
bliting
window.fill((255,255,255))
pygame.display.flip()
pygame.quit()

确实如此,问题是您只对图像进行一次分组,然后屏幕不断被白色填充。试试下面的代码。

import pygame
pygame.init()
window = pygame.display.set_mode((800,600))
image = pygame.image.load("o1.png")
bliting = window.blit(image, (0,0))
gameLoop = True
while gameLoop:
for event in pygame.event.get():
if (event.type == pygame.QUIT):
gameLoop = False
bliting
pygame.display.flip()
pygame.quit()

请注意,我所做的只是删除屏幕填充。虽然这"有效",但更好的选择是创建一个函数来将图像比拼,并在循环中调用它。

另外,为了将来参考,请确保您在 screen.fill(( 之后而不是之前对图像进行块传输。虽然在这种情况下无关紧要,但这是一个人们经常跳过的简单错误。

如果您有任何类似的问题,请随时告诉我:)

最新更新