Я кодирую игру, в которой игрок вводит свое имя, и я хотел бы сделать это на экране.
Вот как я беру имя (name - это строка, которая помещается в глобальную строку). в следующей функции):
while player_name_screen:
for event in pygame.event.get():
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_RETURN:
print(name)
menu_screen = False
player_name_screen = False
game_animation = True
enemy_animation = True
standing = True
else:
name += event.unicode
name_text = game_font.render(name, True, (125, 156, 255))
win.blit(name_text, (500, 500))
pygame.display.update()
clock.tick(fps)
А вот как я хочу прокрутить имя игрока (следующий код в функции, которая вызывается в моем основном l oop):
if game_animation:
win.blit(name_text, (100, 300))
Но на экране ничего не появляется, и когда я распечатываю это в оболочке, это выглядит примерно так: <Surface(63x50x32 SW)>
Как сделать так, чтобы оно правильно мигало на экране? Я уже искал похожие вопросы, но не смог найти ответ на мою проблему. Спасибо за вашу помощь
Редактировать: Вот все, что нужно для этого, чтобы:
name = ""
name_text = game_font.render('', True, (255, 255, 255))
def input_player_name():
global menu_screen
global game_animation
global enemy_animation
global standing
global deluxe_or_not
global name
global name_text
#print("Enter player's name")
player_name_screen = True
win.blit(playerNameImg, (0, 0))
while player_name_screen:
for event in pygame.event.get():
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_RETURN:
print(name)
menu_screen = False
player_name_screen = False
game_animation = True
enemy_animation = True
standing = True
imperial_march.play()
if "deluxe.ver" in name:
print("deluxe.ver.exe")
deluxe_or_not = 1
else:
name += event.unicode
#print(name)
name_text = game_font.render(name, True, (125, 156, 255))
win.blit(name_text, (500, 500))
pygame.display.update()
clock.tick(fps)
def rwg():
if game_animation:
win.blit(name_text, (100, 300))
print(name_text)
run = True
while run:
for event in pygame.event.get():
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_SPACE and menu_screen == True:
input_player_name()
rwg()