你好
我是一名学生,对编码有点陌生,我花了很长时间寻找我的问题的答案,但我一直没能解决它。这应该非常简单,但由于某些原因,我的代码无法工作。我们应该使用课程文献中的库编写一个“加农炮游戏”。我需要为我的graphicgame类的窗口定义一个getter,这样当我需要绘制图形播放器但getWindow(self)函数不起作用时,我就可以重新获取它。 当您收到此类错误消息时,最常见的问题似乎是混合了制表符和空格,但我的编辑器应该自动将所有制表符替换为空格。我希望有一个简单的解决办法
注意:下面的代码在我的编辑器中没有以这种方式缩进,当我将其粘贴到堆栈溢出中时发生了一些事情。在我的原始代码中,所有属性的定义都缩进了
相关代码:
class GraphicGame:
def __init__(self, game):
self.model = game
self.model.players[0] = GraphicPlayer(self, self.model.players[0])
self.model.players[1] = GraphicPlayer(self, self.model.players[1])
self.model.currentplayer = self.model.players[0]
self.window = GraphWin("Cannon game" , 640, 480, autoflush=False)
self.window.setCoords(-110, -10, 110, 155)
ground = Line(Point(-110,0), Point(110,0))
ground.draw(self.window)
def getWindow(self):
return self.window
class GraphicPlayer:
def __init__(self, ggame, player):
self.player = player
self.ggame = ggame
self.width = self.ggame.getCannonSize()
self.color = self.player.getColor()
self.pos = self.player.getX()
self.window = ggame.getWindow()
self.gplayer = Rectangle(Point(self.pos-(self.width/2), 0), Point(self.pos + (self.width/2), 0))
self.gplayer.draw(self.window)
当我试图构造一个图形播放器时,会发生错误。 错误消息:
File "c:\Users\User\Python Programmering\Programmeringteknik\Grafik\lab2\gamegraphics.py", line 79, in __init__
self.window = ggame.getWindow()
File "c:\Users\User\Python Programmering\Programmeringteknik\Grafik\lab2\gamegraphics.py", line 66, in getWindow
return self.window
AttributeError: 'GraphicGame' object has no attribute 'window
"
已解决:Graphicgame在创建图形游戏窗口之前调用graphicplayer。因此出现了错误
相关问题 更多 >
编程相关推荐