首页 > 解决方案 > 旋转后不同位置的 Kivy Image 和 Widget

问题描述

我试图用以下方式旋转我的小部件:

with self.canvas.before:
        PushMatrix()
        Rotate(origin=self.center, angle=90)

with self.canvas.after:
        PopMatrix()

但是我的小部件和它包含的图像位于不同的位置,我显示小部件位置:

with self.root.ids.background.canvas:
   Color(1, 0, 0, 1, mode='rgba')
   Rectangle(pos=self.root.ids.ship.pos, size=self.root.ids.ship.size)

小部件碰撞方法也暗示了我在绘制位置时的相同发现。不管我使用 Scatter 还是 Image 类,当我旋转 Image 时都会在不同的地方结束。这是一个例子

我还尝试通过以下方式控制位置:

self.children[0].pos = self.center

这是完整的 git repo: github repo 的链接,以便能够自己测试

标签: kivy

解决方案


我现在正在使用https://github.com/kivy-garden/garden.rotabox来解决我的轮换问题,效果很好


推荐阅读