以前の質問For Loop Functions in Pythonで、ハングマン ゲームの線を描くコマンドを含む関数を配置するのに苦労しました。正確に線を引いたわけではなく、最初は for ループまたは関数に問題があるのではないかと疑っていました。今、Pygameに多少の不具合があることに気付きました。
私は国カナダでこのコードを使用して問題を解決しようとしました:
b2 = font.render(str(letters[1]), True, (red))
screen.blit(b2, (bPosition))
if hangman1x == -500 and hangman1y == -500:
hangman1x = (775, 250)
hangman1y = (775, 50)
pygame.draw.line(screen, black, (hangman1x), (hangman1y), (5))
pygame.display.flip()
time.sleep(0.5)
bPosition = -500, -500
b1.x, b1.y = -500, -500
if hangman1x == (775, 250) and hangman1y == (775, 50):
print 'hi'
width = 6
pygame.draw.line(screen, black, (hangman1x), (hangman1y), (5))
print 'yay'
pygame.display.flip()
ここに奇妙なことがあります。
画面にブリットされた B を押すと、意図したとおりに赤くなり、線が完全にきれいに描画されますが、B が消えると消えます。その理由は理解できます。その後、if コードを追加しました。(両方pygame.draw.line
の (s) が同じであることに注意してください)、シェルに hi と yay を出力しますが、行は保持しません。とにかくこれを解決するには?