我是一名新学生,遇到了一个我不太了解的问题。我已经请我的老师解释一下,但是他坚持要求我首先寻求别人的建议。
我已经审查了类似的问题,但是我要么很忙,要么不知道如何将解决方案转换为我自己的代码。希望能为我解决问题并学习如何在将来预防该问题提供帮助。我收到的错误为:
TypeError:__init __()最多接受3个参数(给定8个参数)
class Fighter(ShowBase, object):
fighterCount = 0
def __init__(self, modelPath, parentNode, nodeName, posVec, traverser, scaleVec = 1.0):
super(Fighter, self).__init__(modelPath, parentNode, nodeName, 0, 0, 0, 3.0)
self.modelNode.setScale(scaleVec)
self.modelNode.setPos(posVec)
self.trav = traverser
self.origin = render.attachNewNode("origin")
self.origin.setPos(0, 0, 0)
self.origin.hide()
self.setKeyBindings()
self.hud = Hud("./Tools/Hud.x", self.modelNode, "Hud", (0, 10, 0))
答案 0 :(得分:0)
在类Fighter
中,您调用super().__init__
初始化实例,该实例将调用基类ShowBase.__init__
。根据您的错误消息,我猜ShowBase.__init__
只有三个参数,但是您给了八个参数。