kivy中的简单动画

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kivy中的简单动画相关的知识,希望对你有一定的参考价值。

我想给自己做一个简单的动画类,以备不时之需。kivy. 下图所示的代码应该是在 [x1, y1][x2, y2].

from kivy.clock import Clock
from kivy.graphics import Color, Line

class Animation():
    def __init__(self, canvas):
        self.canvas  = canvas

    def line(self, x1, y1, x2, y2):
        with self.canvas:
            Color(0.2, 1, 1, 1)
            l = Line(points=[x1, y1], width=5)
            x_i = 0
            y_i = 0
            x_pos = list(range(x1, x2))
            y_pos = list(range(y1, y2))
            while x_i < len(x_pos) and y_i < len(y_pos):
                l.points += [x_pos[x_i], y_pos[y_i]]
                x_i += 1; y_i += 1

当我用kivy在一个简单的脚本中使用这个类时,在创建窗口后立即出现这一行,没有任何动画。所以我想在该类中加入一个时间休眠。while 循环,但 time.sleep() 是不被kivy支持的。我可以用什么来代替?

谢谢你的帮助。

答案

kivy不支持time.sleep()。

这是不对的,time.sleep工作得很好,只是没有做你想要的事情。

相反,使用 Clock.schedule_interval 来安排一个更新线点的函数。

以上是关于kivy中的简单动画的主要内容,如果未能解决你的问题,请参考以下文章

在 Kivy 中构建简单的进度条或加载动画?

Kivy应用程序中的严重运动模糊。可能的错误?

kivy 应用程序中的一个简单网页作为小部件

Kivy 中的更改颜色按钮

将文本从文本输入传递到 Kivy 中的标签

更改 Kivy 自定义按钮类中的文本