Kivy Pong游戏翻译

时间:2013-06-17 02:24:08

标签: python kivy

刚开始学习Kivy。我下载的Kivy软件包有几个例子供我开始。但是,我很难理解它,因为大多数都是在kvlang(file.kv)的帮助下编写的。我确实经历了Kv tutorial,我仍然不明白。

我对Python有一些不错的经验。但我无法将Kv示例与Python相关联。 下面是从Kivy教程中的Pong Game中提取的代码的一部分。

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

    Label:
        font_size: 70  
        center_x: root.width / 4
        top: root.top - 50
        text: "0"

有人可以帮助我以Python形式翻译上面的kv代码吗?

顺便问一下Kivy语言还有其他任何教程吗?因为从长远来看,学习Kvlang仍然是更好的方法。

提前致谢。

1 个答案:

答案 0 :(得分:1)

Kivy语言更容易,但无论如何我希望这会对你有所帮助。诀窍是做所有的进口。特别重要的是Window导入,因为您无法访问Kivy语言代码之外的root

from kivy.app import App
from kivy.core.window import Window
from kivy.uix.widget import Widget
from kivy.uix.label import Label
from kivy.graphics import Rectangle

class PongGame(Widget):

    def __init__(self, **kwargs):
        super(PongGame, self).__init__(**kwargs)

        label = Label(text = "0")
        label.font_size = 70  
        label.center_x = Window.width / 4
        label.top = Window.height - 50
        self.add_widget(label)

        with self.canvas:
            Rectangle(pos = (Window.width/2 - 5, 0), size = (10,Window.height))

class PongApp(App):
    def build(self):
        return PongGame()

if __name__ == '__main__':
    PongApp().run()