0
シンプルなゲームを書いています(問題の部分だけを表示します)health
以外のすべてがうまくいっています。 1つのオブジェクトが別のオブジェクトにヒットするかどうかを調べるためにprintステートメントを置いています。したがって、if statement
はTrue
です。私はprintステートメントを参照していますが、health
スコアは更新されていません。私はここに何かを逃していますかご協力ありがとうございました!オブジェクトはヒットしましたがスコアは更新されていません
sqrls = pygame.image.load("crazySquirrel1.gif")
sqrlsrect = sqrls.get_rect()
sqrls_startx = 200
sqrls_starty = 530
sqrlsrect.center = (sqrls_startx, sqrls_starty)
girl = pygame.image.load('girl1.gif')
girlrect = girl.get_rect()
x = 850
y = 278
girlrect.center = (x, y)
screen.blit(girl,(x, y))
## adding health score
health = 3
font = pygame.font.SysFont("Comic Sans MS", 20)
text = font.render("Health: " + str(health),1, RED)
## main game loop **********************************
x_change = 0
endGame = False
while not endGame:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
quit()
if event.type == pygame.KEYUP:
if event.key == pygame.K_LEFT:
x_change = -2
elif event.key == pygame.K_RIGHT:
x_change = 2
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT or event.key == pygame.K_RIGHT:
x_change = 0
x += x_change
sqrlsrect = sqrlsrect.move(sqrls_speed) # moving squirrel 1
if sqrlsrect.left < 0 or sqrlsrect.right > w:
sqrls_speed[0] = -sqrls_speed[0]
if sqrlsrect.top < 0 or sqrlsrect.bottom > h:
sqrls_speed[1] = -sqrls_speed[1]
if sqrlsrect.center == girlrect.center:
print ('Ouch s!')
health -= 1
screen.blit(bg, (0, 0))
screen.blit(sqrls, sqrlsrect)
screen.blit(girl, (x, y))
screen.blit(text, (w*0.88, h*0.03))
pygame.display.update()
clock.tick(60)
pygame.quit()
quit()
ありがとうございます!出来た!あなたは華麗です! – Rish