所以,我有一个我想移动的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对象不可调用”,但我的函数不是布尔值?
答案 0 :(得分:1)
在循环开始时填充屏幕。
def draw():
screen.fill(Color('black'))
# draw
pygame.display.flip()
答案 1 :(得分:0)
您已将游戏设置为布尔值
game = False
因此,当您调用“game()”时,它与“False()”相同,这就是您出错的原因。
你也可以在点亮diceRollLabel(黑色)后将屏幕填满黑色,然后你就会在黑色屏幕上画一个黑色圆圈。
完整的代码会有所帮助。