重绘图像不起作用?

时间:2014-01-21 21:55:20

标签: python image pygame game-physics

所以,我有一个我想移动的pygame.circle。我有它移动等,但它只是重复图像,并没有删除以前。我理解“Blit”的概念并理解它复制像素数组。所以我想我会尝试重新绘制我的整个游戏,这就是我所拥有的:

            if event.type == pygame.KEYDOWN and event.key == pygame.K_a:
                diceRoll = random.randint(1, 4)
                diceRollLabel = myFont.render(str(diceRoll), 1, black)
                window.blit(diceRollLabel, (750, 40))
                window.fill(black)
                game()

                count1 = pygame.draw.circle(window, (black),(150, countY - 72 * diceRoll), 25, 0)
                game = False
                game2 = True
                print("Test")

                player1Text = myFont.render(("Player twos turn!"), 1, black)
                window.blit(player1Text, (650, 750))
                pygame.display.update()
                break

当它调用“game()”时,它应该回想起包含所有游戏画面的功能,所以纹理等但由于某种原因,它什么都不做?屏幕变黑了?

它说“Bool对象不可调用”,但我的函数不是布尔值?

2 个答案:

答案 0 :(得分:1)

在循环开始时填充屏幕。

def draw():
    screen.fill(Color('black'))
    # draw
    pygame.display.flip()

答案 1 :(得分:0)

您已将游戏设置为布尔值

game = False

因此,当您调用“game()”时,它与“False()”相同,这就是您出错的原因。

你也可以在点亮diceRollLabel(黑色)后将屏幕填满黑色,然后你就会在黑色屏幕上画一个黑色圆圈。

完整的代码会有所帮助。