AttributeError: у объекта 'NoneType' нет ошибки атрибута 'blit' - PullRequest
1 голос
/ 22 апреля 2020

Я пытаюсь добавить изображение на экран, но получаю эту ошибку:

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() 

1 Ответ

1 голос
/ 22 апреля 2020

Ошибка в первой паре инструкций вашего кода:

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"))

Кроме того, необходимо обновить отображение в конце приложения l oop, либо 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...