python(pygame) - TypeError:__ init __()需要6个参数(给定3个)

时间:2014-02-10 19:28:49

标签: python pygame

我在python上做了一些基本的游戏(或者至少尝试过),我得到了这个错误并说这是在这一部分,有人可以帮我这个吗?请详细解释

class Ball:
    def __init__(self, radius, x, y, color, size):
        self.radius = radius
        self.x = x
        self.y = y
        self.color = color
        self.size = size
        self.circle = self.image.get_circle()

1 个答案:

答案 0 :(得分:1)

每次你这样做:

Ball(...)

通过调用constructor methodBall来创建类Ball.__init__的实例。


此外,您构建了构造函数以获取6个位置参数。这意味着必须给它6个参数 - 不多也不少 - 每次调用它。

第一个参数self在您实例化(创建)Ball的实例时隐式传递。换句话说,您不需要明确地传入它。

但是,执行需要显式传入接下来的5个参数。


考虑到上述情况,Ball的每个实例都应如下所示:

Ball(<radius>, <x>, <y>, <color>, <size>)

每个<...>都会被您选择的值替换。