python - 60fps 和更新列表。该怎么办?
问题描述
我想在游戏结束时将分数附加到我的“last_Score”列表中,但它每秒添加 60 个项目。我只想在每个游戏结束时拥有一件物品。有任何想法吗?
def __init__(self, **kwargs):
super(Game, self).__init__(**kwargs)
self.start_sound.play()
self.init_vertical_line()
self.init_horizontal_line()
self.init_quad()
self.init_hero()
self.start_quads()
self.quad_generation()
if self.is_desktop():
self.keyboard = Window.request_keyboard(self.keyboard_hidden, self)
self.keyboard.bind(on_key_down=self.on_keyboard_down)
self.keyboard.bind(on_key_up=self.on_keyboard_up)
Clock.schedule_interval(self.update, 1/60)
def update(self, dt):
time_factor = dt*60
self.update_vertical_lines()
self.update_horizontal_line()
self.quad_update()
self.quad_generation()
self.update_hero()
self.score_board()
def score_board(self):
if self.game_over:
self.end_score = self.score
self.last_Score.append((self.end_score))
if len(self.last_Score) > 10:
del self.last_Score[:-2]
print(self.last_Score)
解决方案
我做的!我的代码在这里。
def score_board(self):
if self.game_over:
self.end_score = self.score
self.last_Score.append((self.end_score))
if len(self.last_Score) > self.game_number:
del self.last_Score[-1]
try:
self.last_Score_Label = "Your last score is" + str(self.last_Score[-2])
except:
self.last_Score_Label = "Your last score is " + str(self.last_Score[-1])
print(self.last_Score)
推荐阅读
- hadoop-yarn - 资源没有耗尽,为什么YARN在等待资源
- javascript - 如何关闭地图标记聚类?
- excel - 如何格式化 Angular 下 xlsx 包生成的工作簿中的单元格
- c# - asp.net aspx OnClick 在客户端服务过程中单击时不会触发
- c - 在 libcurl/RTSP 之后 pthread_create 时在 genops 中出现段错误
- python - 我需要一个 epub 到 Python 中的文本解决方案
- c - 所有数组元素在 C 中都是相同的 fgets 吗?
- automated-tests - 模拟器中的 Appium ToggleWiFi 停止测试
- postman - Postman 请求正文中的文件未保存在集合中
- ruby - Faker gem 生成 2-3 个字母字符串