Python 多个kivy小部件

Python 多个kivy小部件,python,widget,kivy,Python,Widget,Kivy,我试着用Kivy模仿flappy birds,但目前我的处境很艰难。 问题是我不知道如何在视图中创建多个小部件 现在我的kv文件中有: <Game>: col: column Column: id: column <Column>: pos: 0, 0 canva: Rectangle: pos: self.top_column_position size:

我试着用Kivy模仿flappy birds,但目前我的处境很艰难。 问题是我不知道如何在视图中创建多个小部件

现在我的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
:
列:列
专栏:
id:列
:
位置:0,0
坎瓦:
矩形:
位置:self.top\u column\u位置
尺码:30,身高
矩形:
位置:自底柱位置
尺码:30,身高

目前我可以制作单列,所以问题是如何制作多列?

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

  • 您缺少缩进(这可能是打字错误),例如
    下面的行应该缩进4个额外的空格
  • 你写了
    canva
    ,意思是
    canvas
  • 正如您所写,小部件不能添加到画布下。画布用于图形说明
我不知道你说的列是什么意思,你还没有给出你正在使用的布局的任何信息。一般来说,一个解决方案可能是使您的
游戏
小部件子类
BoxLayout
,然后简单地在它下面添加多个列小部件,让这个
BoxLayout
负责重新排列和定位它们


我以前实现了游戏的基本机制。我对您似乎正在做的事情采取了完全不同的方法,实现非常基本,但也许它可以帮助您。

您的语言语法有一些问题:

  • 您缺少缩进(这可能是打字错误),例如
    下面的行应该缩进4个额外的空格
  • 你写了
    canva
    ,意思是
    canvas
  • 正如您所写,小部件不能添加到画布下。画布用于图形说明
我不知道你说的列是什么意思,你还没有给出你正在使用的布局的任何信息。一般来说,一个解决方案可能是使您的
游戏
小部件子类
BoxLayout
,然后简单地在它下面添加多个列小部件,让这个
BoxLayout
负责重新排列和定位它们

我以前实现了游戏的基本机制。我对您似乎正在做的事情采取了完全不同的方法,实现非常基本,但也许它可以帮助您