Python: обновить изменяющуюся переменную в окне, используя pygame.font - PullRequest
0 голосов
/ 29 февраля 2020

это мой первый пост, я новичок в программировании, в Python особенно

Я создал игру с управляемым персонажем, вы должны избегать ИИ, иначе шансы уменьшаются с каждым разом на 1 (от 10 до 0), я хочу напечатать шансы в режиме реального времени, но проблема в том, что они отображаются дважды друг над другом, поэтому мы не можем увидеть повторные шансы, я не знаю, что делать делаю, я уже использовал pygame.display.update () , вот часть моего кода:

import pygame
pygame.init()

nombreDeFois = 10

font = pygame.font.Font(None, 36)
s = "Chances restantes : " + str(nombreDeFois)
text = font.render(s, 0, (255, 178, 51))
textpos = text.get_rect()
textpos.center = (442,15)
backgroundjeu.blit(text, textpos)

pygame.display.update()

1 Ответ

0 голосов
/ 13 апреля 2020

Каждый раз, когда вы хотите отобразить что-то на экране с помощью pygame, оно добавляется к тому, что уже находится на экране, поэтому для его обновления сначала необходимо заполнить экран цветом фона, чтобы очистить экран, а затем отобразить Это. Как правило, это делается для каждого кадра в игре с движущейся графикой.

Например:

display = pygame.display.set_mode(...)

#at the start of the code that runs each frame
display.fill(<insert background color>)

Если вы используете фоновое изображение, вместо этого снова блицайте в каждом кадре.

Это также означает, что все должно быть перерисовано в каждом кадре, иначе оно исчезнет сразу после первого кадра.

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