Python:访问另一个类的类变量时出现问题

2024-09-30 18:31:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我在访问类变量时遇到了一个让我困惑的问题。我想从类Unit访问类Game的变量gameDisplay,但是我得到了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

其他类代码单位

我错过了什么?你知道吗


Tags: nameselfgameinitdefdisplayunitpygame
1条回答
网友
1楼 · 发布于 2024-09-30 18:31:41

像@jornsharpe一样,gamesplay是实例的一个属性,因为“self.”prefix,要按照您的想法使用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)

这样,类和所有实例都将具有该属性

相关问题 更多 >