使用 Python Kivy 将垂直矩形旋转为水平矩形 - 怎么做?
Rotate a vertical rectangle to an horizontal one with Python Kivy - How?
我正在尝试用 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)
此代码定义了 PongGame
的 属性 (rotate
) 来控制旋转。如果 rotate
为 False
,则绘制原始 Rectangle
,但如果 rotate
为 True
,则绘制旋转后的 Rectangle
。使用 python 代码可以获得类似的结果,但是您必须编写更多代码(绑定)来处理用户更改 PongGame
大小的情况。在 kv
中完成所有操作让 kivy 处理这些绑定。
一旦您准备好此代码,您就可以使用以下方法旋转 PongGame
:
def rotate(self, dt):
self.root.rotate = not self.root.rotate
在你的PongApp
.
我正在尝试用 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)
此代码定义了 PongGame
的 属性 (rotate
) 来控制旋转。如果 rotate
为 False
,则绘制原始 Rectangle
,但如果 rotate
为 True
,则绘制旋转后的 Rectangle
。使用 python 代码可以获得类似的结果,但是您必须编写更多代码(绑定)来处理用户更改 PongGame
大小的情况。在 kv
中完成所有操作让 kivy 处理这些绑定。
一旦您准备好此代码,您就可以使用以下方法旋转 PongGame
:
def rotate(self, dt):
self.root.rotate = not self.root.rotate
在你的PongApp
.