多个kivy小部件

Dom*_*Mar 0 python widget kivy

我正在尝试用Kivy制作飞扬的小鸟,但此刻我正处于艰难时期.问题是我不知道如何在视图中创建多个小部件.

现在我有我的kv文件:

<Game>:
    col: column
    Column:
        id: column

<Column>:
    pos: 0, 0
    canva:
        Rectangle:
            pos: self.top_column_position
            size: 30, self.height
        Rectangle:
            pos: self.bottom_column_position
            size: 30, self.height
Run Code Online (Sandbox Code Playgroud)

目前我能够制作单列,所以问题是如何制作这样我可以有多个列?

inc*_*ent 5

你的kv语言语法有一些问题:

  • 你错过了缩进(这可能是一个错字),例如下面的行<Game>:应该缩进4个额外的空格.
  • 你写的canva是你的意思canvas.
  • 正如您所写,无法在画布下添加小部件.画布用于图形说明.

我不知道您对列的含义,您没有提供有关您正在使用的布局的任何信息.一般来说,解决方案可能是创建Game窗口小部件子类BoxLayout,然后只需在其下添加多个列窗口小部件,让BoxLayout它们重新安排和定位它们.

我以前实现游戏的基本机制,可以在这里找到.我采用了一种不同的方法来处理你似乎正在做的事情,而且实现是非常基本的,但也许它可以帮助你.