如何解决使用 Python Kivy 将垂直矩形旋转为水平矩形 - 如何?
我正在尝试用 Python Kivy 编写一个游戏,只卡在一件事上,这将是一个简单的问题,但我还没有在任何地方找到解决方案。
我希望屏幕中间的线(见附图)是水平的而不是垂直的,意思是从左到右。有什么方法可以旋转这个吗?或者我必须在脚本中更改什么?
Change vertical line to horizontal
这是我创建图形的脚本:
<PongGame>:
canvas:
Rectangle:
pos: self.center_x - 5,0
size: 10,self.height
我将不胜感激。请记住,我仍然是一个初学者。
最好的问候,
PyBeginner
解决方法
这样做的一个好方法是使用 kv
,如下所示:
<PongGame>:
rotate: False # property to control rotation
canvas:
Rectangle:
pos: (0,self.center_y - 5) if self.rotate else (self.center_x - 5,0)
size: (self.width,10) if self.rotate else (10,self.height)
此代码定义了控制旋转的 rotate
属性 (PongGame
)。如果 rotate
为 False
,则绘制原始 Rectangle
,但如果 rotate
为 True
,则绘制旋转的 Rectangle
。使用 python 代码可以获得类似的结果,但是您必须编写更多代码(绑定)来处理用户更改 PongGame
大小的情况。在 kv
中完成这一切让 kivy 处理这些绑定。
一旦你有了这个代码,你就可以使用以下方法旋转 PongGame
:
def rotate(self,dt):
self.root.rotate = not self.root.rotate
在您的 PongApp
中。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。