我必须为在Kivy中继承的类添加属性吗

时间:2018-08-22 19:57:39

标签: python kivy

我是新手,但是我真的不明白为什么我们需要声明球没有对象属性。为什么我们只能将其空白而没有属性,或者为什么不必为在另一个实例中调用的类的每个实例声明属性。 这是来自tutorial for a PongApp的Kivys官方文档。

class PongBall(Widget):
    #Code Here
    pass
class PongGame(Widget):
    ball = ObjectProperty(None)

1 个答案:

答案 0 :(得分:0)

  

问题:我真的不明白为什么我们需要声明ball没有对象属性

ball = ObjectProperty(None)行将创建一个新的空实例类对象,供以后使用。
没有此实例,您将无法分配self.ball.center = self.center

from kivy.properties import ObjectProperty

class PongGame(Widget):
    ball = ObjectProperty(None)

    def serve_ball(self):
        self.ball.center = self.center
        self.ball.velocity = Vector(4, 0).rotate(randint(0, 360))