Недопустимая позиция назначения для блит-ошибки

avatar
Humber
25 августа 2020 в 16:09
136
1
1

Я получил эту ошибку. Это полная трассировка.

Traceback (most recent call last):
File "C:/Users/hobin/PycharmProjects/codeitPython/Snake_game.py", line 103, in <module>
snakegame()
File "C:/Users/hobin/PycharmProjects/codeitPython/Snake_game.py", line 52, in snakegame
dis.blit(value, round(display_width / 3), round(display_height / 5))
TypeError: invalid destination position for blit

Вот код, связанный с ошибкой

while not game_over:
    while game_end == True:
        #For displaying the score
        score = Length_of_snake -1
        score_font = pygame.font.SysFont("comicsansms", 35)
        value = score_font.render("Your Score: " + str(score), True, greencolor)
        dis.blit(value, round(display_width / 3), round(display_height / 5))
        pygame.display.update()
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                game_over = True # The game window is still open
                game_end = False # game has been ended

Я понятия не имею... что мне делать??

Источник

Ответы (1)

avatar
Rabbid76
25 августа 2020 в 16:26
2

Вторым аргументом (dest) pygame.Surfac.blit является пара координат. Либо кортеж с 2 компонентами, либо список с 2 элементами:

dis.blit(value, round(display_width / 3), round(display_height / 5))

dis.blit(value, ( round(display_width / 3), round(display_height / 5) ) )

Для полноты следует упомянуть, что аргумент также может быть прямоугольником. Кортеж с 4 компонентами (слева, сверху, ширина, высота).

Humber
26 августа 2020 в 01:33
1

Огромное спасибо. Я могу быть сделан из-за вашего ответа.