如何在Kivy中从一组小部件动态创建纹理?

时间:2014-07-27 15:52:32

标签: python widget textures kivy python-3.4

我有一个包含许多小部件的方形布局。一套小部件呈现空小部件与彩色背景(我用图元绘制)和一个或多个标签,所以设置是2个或更多的小部件。我独立制作每一套动画(如2048游戏,如果你知道的话)。现在,我必须清除画布并重新绘制每帧的背景。如果有4×4套可以,但如果有7×7或更多,那就相当迟钝了。因此,似乎从每个集合中创建一个纹理并仅为其设置动画会更好(因为我不会更改其内容直到我销毁它)。我怎么能这样做,是否有可能呢?它比我的想法更好吗?

1 个答案:

答案 0 :(得分:1)

我不太了解你的很多问题,但你真正想做的是存储你的图形指令并改变它们的位置,而不是删除它们并在每一帧重新创建它们。这将非常快,并且是更新图形的预期方式。

例如:

with self.canvas:
    rect = Rectangle(pos=(0, 0), size=(10, 10))

rect.pos = (50, 50)

这会非常有效地改变矩形的位置,而不是删除它。