首页 > 解决方案 > 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)

标签: python

解决方案


我做的!我的代码在这里。

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)

推荐阅读