我遇到了一个访问让我感到困惑的类变量的问题。我想从类gameDisplay
访问类Game
的变量Unit
,但我得到class Game has no attribute 'gameDisplay'
,我不明白,因为Game
拥有它。
class Game:
def __init__(self,w,x,y):
#{
# display paramteters
self.fps = 30
self.fpsTime = pygame.time.Clock()
self.displaySize = (0,0)
self.gameDisplay = pygame.display.set_mode(self.displaySize)
其余的课程代码游戏:
class Unit:
def __init__(self,name,imgAlive,posX,posY,movSpeed):
self.name = name
self.imgAlive = imgAlive
self.posX = posX
self.posY = posY
self.movSpeed = movSpeed
self.gameDisplay = Game.gameDisplay
其余的类代码
我在这里缺少什么?
答案 0 :(得分:0)
就像@jonrsharpe指出的那样,gameDisplay是实例的一个属性,因为" self。"前缀,以你想象的方式使用Game类,你需要这样的东西:
class Game:
gameDisplay = pygame.display.set_mode(self.displaySize)
def __init__(self,w,x,y):
#{
# display paramteters
self.fps = 30
self.fpsTime = pygame.time.Clock()
self.displaySize = (0,0)
这样,类和所有实例都将具有该属性