Код может показаться немного длинным, но все хорошо прокомментировано.
Во-первых, ошибка, которую я получаю:
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 ответ
Второй аргумент pygame.Surface.blit
имеет быть кортежем с 2 компонентами. Этот кортеж указывает двумерную координату, которая определяет левый верхний угол исходной поверхности на месте назначения. В качестве альтернативы второй аргумент также может быть Rect.
screen.blit(plr, plr_x, plr_y)
screen.blit(plr, (plr_x, plr_y))
Похожие вопросы
Новые вопросы
python
Python — это мультипарадигмальный многоцелевой язык программирования с динамической типизацией. Он предназначен для быстрого изучения, понимания и использования, а также обеспечивает чистый и унифицированный синтаксис. Обратите внимание, что Python 2 официально не поддерживается с 01.01.2020. Если у вас есть вопросы о версии Python, добавьте тег [python-2.7] или [python-3.x]. При использовании варианта Python (например, Jython, PyPy) или библиотеки (например, Pandas, NumPy) укажите это в тегах.