使标签在猕猴桃中淡出

亚基里斯

因此,如果有人尝试单击播放并且还没有保存文件,我想显示一个标签。然后我希望它淡出。while循环有效,将alpha的值减小为0。只要没有self.remove_widget(no_save)添加,它就会显示标签,但它仍将保持为实心标签。任何帮助,将不胜感激。还是有更简单的方法来做到这一点?

class StartMenu(Screen):

    def check_save(self):
        global save_state
        if save_state == None:
            color = (0,1,0,1)
            while color[3] > 0:
                no_save = Label(text='No save file found. Please press New Game', color=color)
                self.add_widget(no_save)
                color = color [:3] + (color[3] - (.1),)
                time.sleep(.1)
                self.remove_widget(no_save)
夸兹

为什么不使用内置Animation功能,而不是自己淡出尝试这样的事情。我还建议save_state从全局域转移到您的类,而不是在每次运行时都创建和销毁标签,而是在初始化时创建标签,并在需要时简单地隐藏或显示它。

class StartMenu(Screen):

  def __init__(self, *args, **kwargs):
    super().__init__(*args, **kwargs)
    self.save_state = None
    no_save = Label('No save file found. Please press new game.', hidden=True)
    self.add_widget(no_save)


  def check_save(self):
    if not self.save_state:
       self.no_save.hidden = False
       def hide_label(w): w.hidden = True
       Animation(opacity=0, duration=1, on_complete=hide_label).start(self.no_save)

快速喊出zeeMonkeysAnimation在我之前指出注释中解决方案。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章