类型错误:“球”对象不可调用?

萨米卡蒙

我正在制作一个游戏,我有一个大炮可以从空中发射球,所以我创建了一个名为 ball 的类和一个名为 balls 的列表,其中(显然)包含球。每个球都有一个值,每次被射弹击中时,它的值都会减一,所以如果 ball.value 降为 1,当击中球时,该球将从列表中删除,并且必须有另一个球进来。这是代码:

for projectile in projectiles:
    for ball in balls:
        if hypot(ball.rec.center[0]-projectile.center[0],ball.rec.center[1]-projectile.center[1] ) < ball.radius:
            if ball.value == 1:
                balls.remove(ball)
                balls.append(ball((randint(1,SCREENWIDTH - 100),10),2,0))
            else:
                ball.shrink()
            projectiles.remove(projectile)
            break

当我这样做时,球死了的那一刻,我收到一条消息:

TypeError: 'ball' object is not callable

但是当我balls.append(ball((randint(1,SCREENWIDTH - 100),10),2,0))在球列表初始化之后放置时,我没有收到任何错误,但另一个球只是出现在屏幕上。我试图改变环路与̶ ̶f̶o̶r̶ ̶b̶a̶l̶l̶o̶o̶n̶ ̶i̶n̶ ̶b̶a̶l̶l̶s̶̶看是否̶t̶h̶a̶t̶'̶s̶这个问题,但是没有起色,̶相同̶p̶r̶o̶b̶l̶e̶m̶.̶

伊戈尔·里文

ball(x, y)命令应该创建ball该类的一个实例但是这个词ball已经用于 的元素balls所以,只要让你的循环for b in balls为类和类的实例使用相同的名称是一个非常非常糟糕的主意。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

类型错误“类”对象不可调用

类型错误:“Vocab”对象不可调用

类型错误:“ShiftSerializer”对象不可调用

类型错误:Int对象不可调用

类型错误:“布尔”对象不可调用

类型错误:“StringVar”对象不可调用

类型错误:“条目”对象不可调用

类型错误:“IndicesClient”对象不可调用

类型错误:“WebElement”对象不可调用

类型错误:int 对象不可调用

硒错误“类型错误:‘str’对象不可调用”

错误类型错误:“str”对象不可调用

类型错误:“模块”对象不可调用 - pygsp 模块不可调用

澄清类型错误:“str”对象不可调用

类型错误:“int”对象不可调用 colab 研究

matplotlib图例类型错误:“列表”对象不可调用

底图类型错误:“模块”对象不可调用

如何处理不可调用的对象类型的错误

类型错误:“模块”对象在 Keras 中不可调用 Tensorboard

类型错误:“列表”对象不可调用,sys.argv()

类型错误:“DataFrame”对象不可调用 - 触发数据框

在Keras中合并,类型错误:模块对象不可调用?

Mechanicalsoup 类型错误:“模块”对象不可调用

类型错误:'bool' 对象在 Pygame 中不可调用

进度条 - 类型错误:“模块”对象不可调用

类型错误:“str”对象不可调用 1

获取类型错误:“模块”对象不可调用

模型拟合/类型错误:“ NoneType”对象不可调用

类型错误:读取文件时“str”对象不可调用