簡體   English   中英

使用 Python Kivy 將垂直矩形旋轉到水平矩形 - 如何?

[英]Rotate a vertical rectangle to an horizontal one with Python Kivy - How?

我正在嘗試使用 Python Kivy 編寫游戲,只卡在一件事上,這將是一個簡單的問題,但我在任何地方都沒有找到解決方案。

我希望屏幕中間的線(見附圖)是水平的而不是垂直的,意思是從左到右。 有什么方法可以旋轉這個嗎? 或者我必須在腳本中更改什么?

將垂直線更改為水平線

這是我創建圖形的腳本:

<PongGame>:
    canvas:
       Rectangle:
          pos:    self.center_x - 5, 0
          size: 10, self.height

我將不勝感激任何幫助。 請記住,我仍然是一個初學者。

此致,

初學者

一個很好的方法是使用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 )。 如果rotateFalse ,則繪制原始Rectangle ,但如果rotateTrue ,則繪制旋轉Rectangle 使用 python 代碼可以獲得類似的結果,但是您必須編寫更多代碼(綁定)來處理用戶更改PongGame大小的情況。 kv中完成這一切讓 kivy 處理這些綁定。

一旦你有了這個代碼,你就可以使用如下方法旋轉PongGame

def rotate(self, dt):
    self.root.rotate = not self.root.rotate

在你的PongApp中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM