【发布时间】:2017-10-09 18:15:08
【问题描述】:
我已经构建了一个游戏,它使用 pickle 将用户得分记录并保存到文本文件中。当他们的生命用尽时,他们输入他们的名字,他们的名字和分数被保存到一个文本文件中。目前,如果在主菜单上选择了“高分”部分,则高分会简单地打印在 python shell(或 CMD,如果他们正在使用它)中。我想创建一个单独的窗口来显示高分。该窗口将简单地显示分数并在每次打开时刷新。
目前我有代码来加载腌制文件并创建一个新窗口。如果我输入静态文本,它可以正常工作,但是当我尝试显示文本文件内容时,我收到以下错误:
Traceback(最近一次调用最后一次): 文件“C:\LearnArabic\Program\Test1.py”,第 22 行,在 textsurface = myfont.render(high_scores, False, (0, 0, 0)) TypeError: text must be an unicode or bytes
这是我的代码:
import pygame
from operator import itemgetter
import pickle
pygame.font.init()
high_scores = []
with open("C:\\LearnArabic\\HighScores\\HighScores.txt", 'rb') as f:
high_scores = pickle.load(f)
#Background color
background_color = (255,255,255)
(width, height) = (400, 500)
HighScoreScreen = pygame.display.set_mode((width, height))
pygame.display.set_caption('High Scores')
HighScoreScreen.fill(background_color)
#Displaying text on window
myfont = pygame.font.SysFont('Comic Sans MS', 30)
textsurface = myfont.render(high_scores, False, (0, 0, 0))
HighScoreScreen.blit(textsurface,(0,0))
pygame.display.flip()
running = True
while running:
for event in pygame.event.get():
if event.type ==pygame.QUIT:
running = False
是否有与渲染不同的功能可以让我以表格形式显示结果?
我对编程比较陌生,并且正在使用 python 3。感谢您的帮助!
【问题讨论】:
标签: python-3.x pygame pickle