我是新来的,我得到了一个错误,我希望有人能帮助我,并解释我的错误
错误:
line 178, in applyThrust
shipPos = self.Fighter.getPos(self.origin)
AttributeError: 'Fighter' object has no attribute 'Fighter'
class Fighter(SphereCollideObj, 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))
def setKeyBindings(self):
self.accept("space", self.thrust, [1])
self.accept("space-up", self.thrust, [0])
def thrust(self,keyDown):
if keyDown:
taskMgr.add(self.applyThrust, "thrust")
else:
taskMgr.remove("thrust")
self.acceptOnce("space", self.thrust,[1])
self.acceptOnce("space-up", self.thrust,[0])
def applyThrust(self, task):
shipPos = self.Fighter.getPos(self.origin)
hudPos = self.hud.modelNode.getPos(self.origin)
trajectory = hudPos - shipPos
rate = 5
trajectory.normalize()
self.Fighter.setFluidPos(shipPos + trajectory * rate)
在这种情况下,“自我”是什么?我是说,它代表什么样的物体? 我认为这个错误消息很有帮助
定义应用信任(自我、任务)>;阶级斗争的方法
自我斗士>;调用“Fighter”成员或“self”属性,在本例中为Fighter实例
在self.Fighter.setFluidPos(…)中也会出现同样的错误
我认为Mircea想说的是
Fighter
中的self.Fighter.getPos(self.origin)
是多余的。既然对象是类Fighter
,self.getPos(self.origin)
就足够了(假设这个超类有一个名为getPos()
的方法,您就不会显示它的代码)相关问题 更多 >
编程相关推荐