Игрок Pygame не загружается - PullRequest
1 голос
/ 19 апреля 2020

код может показаться немного длинным, но все хорошо прокомментировано.

Во-первых, я получаю ошибку:

  File "C:/Users/nellissery/Desktop/david/spaceinvader/main.py", line 56, in <module>
player()
File "C:/Users/nellissery/Desktop/david/spaceinvader/main.py", line 28, in player
screen.blit(plr, plr_x, plr_y)
TypeError: invalid destination position for blit

, что является ошибкой. остальная часть кода:

   # screen and icon
scr_height = 600
scr_width = 800
icon_sprite = 'spaceship.png'
# title:
pygame.display.set_caption('Space Invaders')

# icon:
icon = pygame.image.load(icon_sprite)
pygame.display.set_icon(icon)

# player
plr_sprite = 'player-ship.png'
plr_x = 200
plr_y = 200
plr = pygame.image.load(plr_sprite)

def player():
    # blit means to draw
    screen.blit(plr, plr_x, plr_y)

# in pygame, x-y axis has origin at top, left corner

#  to create a screen
screen = pygame.display.set_mode((scr_width, scr_height))

run = True
# the game loop:
while run:

    # background colour
    screen.fill((240,248,255))
    # to go through the events
    for event in pygame.event.get():
        # to check if the exit button is pressed
        if event.type == pygame.QUIT:
            run = False
    # to make sure that the changes to display are visible, we need to update display:
    # to put the player on screen:
    player()
    pygame.display.update()

некоторая помощь будет признательна, так как я несколько раз просматривал код и не знаю, где я ошибаюсь. Изображение 64 * 64. оно перестает работать для функции плеера. Я правильно сохранил ресурс, и он, вероятно, загружается хорошо. я не понимаю, почему я получаю ошибку,

1 Ответ

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

Второй аргумент pygame.Surface.blit должен быть кортежем из 2 компонентов. Этот кортеж задает двухмерную координату, которая указывает верхний левый угол исходной поверхности в месте назначения. В качестве альтернативы вторым аргументом также может быть Rect.

screen.blit(plr, plr_x, plr_y)

screen.blit(plr, (plr_x, plr_y))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...