【问题标题】:Why isnt anything showing for me except the background in the pygame window为什么除了 pygame 窗口中的背景之外什么都没有显示给我
【发布时间】:2020-07-28 14:24:03
【问题描述】:

这是代码。我在同一个文件夹中正确命名了两个图像,所以这不是问题。 runner.png 和按钮的矩形都不会显示,但背景会显示。

class gamewindow():
    def __init__(self):
        pygame.init()
        self.game = pygame.display.set_mode((1300, 768))
        background = pygame.image.load('temporarybackground.jpg')
        self.green = (1,255,1)
        self.buttonstart = pygame.draw.rect(self.game, self.green,(100,100, 20, 20))
        self.runner = pygame.image.load('runner.png')
        from sys import exit
        while True:
            self.game.fill((0,0,0))
            self.game.blit(background, (0, 0))

            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    pygame.quit()
                    exit()
            pygame.display.flip()

【问题讨论】:

  • 您在程序开始时绘制了一次按钮,但根本没有绘制跑步者。然后您进入了一个循环,该循环反复擦除屏幕并仅绘制背景。如果你想看到比那个背景更多的东西,你必须在循环中画出它

标签: python pygame


【解决方案1】:

JasonHarper 的评论是正确的。您没有在循环中绘制按钮或跑步者。当您重绘背景时,其他对象将被删除。

更正的代码:

class gamewindow():
    def __init__(self):
        pygame.init()
        self.game = pygame.display.set_mode((1300, 768))
        background = pygame.image.load('temporarybackground.jpg')
        self.green = (1,255,1)
        self.runner = pygame.image.load('runner.png')
        from sys import exit
        while True:
            self.game.fill((0,0,0)) # clear screen
            self.game.blit(background, (0, 0)) # draw background
            self.game.blit(self.runner, (50, 0)) # draw runner
            pygame.draw.rect(self.game, self.green,(100,100, 20, 20)) # draw button
            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    pygame.quit()
                    exit()
            pygame.display.flip()

您的游戏代码也在类构造函数中,这看起来很奇怪。将您的游戏放入标准函数中可能会更好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-29
    • 1970-01-01
    • 1970-01-01
    • 2014-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多