RPG Pygame同时在类中循环重置

时间:2017-01-07 23:03:05

标签: python class while-loop pygame

现在我遇到一个问题,即某个类的值被重置我不确定在哪里。有人可以帮忙吗?这是代码

while True:
   #some code#
   Hub().paint(gameDisplay)

Hub / paint功能如下所示

def paint(self, screen):
    if self.gimseen == 0 and self.pressed == 0:
        screen.blit(image1, (self.x, self.y))
        self.pressed = (pygame.mouse.get_pressed()[0])
        if self.pressed == 1:
            self.gimseen += 1

1 个答案:

答案 0 :(得分:1)

假设“正在重置”类“值”,则表示您在self.gimseen的实例上设置self.pressedHub等的值,并注意这些值全部在调用Hub().paint(gameDisplay)时似乎会重置,原因是每次调用该行时都会创建Hub的新实例。

要更正此问题,您很可能希望在while循环之前创建Hub的单个实例,在while循环的主体中更新它,然后在该实例上调用paint

hub = Hub()
while True:
   #some code#
   hub.paint(gameDisplay)