我正在尝试将图像添加到屏幕上,但是我一直收到此错误:
AttributeError:'NoneType'对象没有属性'blit'
这是我的代码:
import pygame
pygame.init()
myscreen = pygame.display.set_mode((500, 500))
myscreen = pygame.display.set_caption(("Mini game"))
icon = pygame.image.load("images\space.png")
pygame.display.set_icon(icon)
playerImg = pygame.image.load("player.png")
playerx = 200
playery = 200
def player():
myscreen.blit(playerImg, (playerx, playery))
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
player()
答案 0 :(得分:0)
该错误出现在代码的前两个指令中:
myscreen = pygame.display.set_mode((500, 500)) myscreen = pygame.display.set_caption(("Mini game"))
pygame.display.set_caption()
的返回值为None
。与窗口关联的表面由pygame.display.set_mode
返回,但由于pygame.display.set_caption()
的返回值已分配给myscreen
而被覆盖。它必须是:
myscreen = pygame.display.set_mode((500, 500))
pygame.display.set_caption(("Mini game"))
此外,您还必须在应用程序循环结束时通过pygame.display.update()
或pygame.display.flip()
更新显示:
import pygame
pygame.init()
myscreen = pygame.display.set_mode((500, 500))
pygame.display.set_caption(("Mini game"))
icon = pygame.image.load("images\space.png")
pygame.display.set_icon(icon)
playerImg = pygame.image.load("player.png")
playerx = 200
playery = 200
def player():
myscreen.blit(playerImg, (playerx, playery))
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
player()
pygame.display.flip() # <--- this is missing