2017-11-23 4 views
0

問題は、関数を実行しなくてもうまくいきましたが、現在は常に0にリセットされているようです。他のコードは忘れていますが、ロードされます第1の関数は、第2の関数から出たときに0にリセットされる。関数内で変数を更新中のPygame

if letter == "G": 
    for event in pygame.event.get(): 
     if event.type == pygame.KEYDOWN: 
     if event.key == pygame.K_g and x > 192 and x <250: 
      score += 1 
      texts(score,gameDisplay) 
def texts(score,gameDisplay): 
    font=pygame.font.Font(None,100) 
    scoretext=font.render(str(score), 1,(204,0,204)) 
    gameDisplay.blit(scoretext, (313, 617)) 
    return score 

答えて

0

forループの前にスコア= 0とする。

if letter == "G": 
    score=0 
    for event in... 

EDIT: あなたはゲームループ

+0

の外のどこかでスコアを初期化する必要がありますが、それはまだのみ0 – ChrisYip

+0

を示すであろうように、このテキストが表示されたときに前に0にスコアを設定しますはい、これは間違っています、彼はゲームのループ全体のどこかでスコアを記録する必要があります。 –

+0

助けてくれてありがとう – ChrisYip

関連する問題