让标签在 kivy 中淡出
Having a label fade out in kivy
所以我想在有人试图点击播放但还没有保存文件时显示一个标签。然后我想让它淡出。 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,而不是每隔 运行 创建和销毁标签,我会在初始化时创建并简单地隐藏或显示它变得有必要。
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)
快速向 zeeMonkeys 大喊大叫,因为他在我之前在评论中指出了 Animation
解决方案。
所以我想在有人试图点击播放但还没有保存文件时显示一个标签。然后我想让它淡出。 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,而不是每隔 运行 创建和销毁标签,我会在初始化时创建并简单地隐藏或显示它变得有必要。
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)
快速向 zeeMonkeys 大喊大叫,因为他在我之前在评论中指出了 Animation
解决方案。