2017-08-05 3 views
0

イベントが発生したときのパイゲームの時間をカウントしたい。私はドキュメントの中で何かを読んでいますが、実際にそれを行う方法については分かりません。パイゲームのカウント時間

ドキュメントでは、時間はmilisecondsで取得できますが、pygame.init()が呼び出されるとカウントが開始されます。ブール値がtrueのときに0から数えたい。

import pygame 
pygame.init() 

loop = True 

boolean = False 

while loop: 
    for event in pygame.event.get(): 
     if event.type == pygame.QUIT: 
      pygame.quit() 
      quit() 
     if event.type == pygame.KEYDOWN: 
      if event.key == pygame.RETURN: 
       boolean = True 

    screen.fill((255, 255, 255)) 

    if boolean: 
     # start counting seconds 

    pygame.display.update() 

ありがとうございました。

+0

。キー定数は 'K_'で始まるので、' pygame.K_RETURN'となる。 – r0the

+0

ああ、それはまったく問題ではありません。私はちょうど秒数を計算するコードが必要です.. –

+0

可能な[ Pygameのカウントダウンタイマー](https://stackoverflow.com/questions/30720665/countdown-timer-in-pygame) – skrx

答えて

1

特定のイベントから経過した時刻を判断するには、そのイベントの時刻を測定し、現在の時刻から差し引くだけです。

はここで働い例です:(?タイプミス)あなたのコードに誤りがあります

import pygame 

pygame.init() 

FONT = pygame.font.SysFont("Sans", 20) 
TEXT_COLOR = (0, 0, 0) 
BG_COLOR = (255, 255, 255) 

loop = True 
start_time = None 
screen = pygame.display.set_mode((800, 600)) 
clock = pygame.time.Clock() 
while loop: 
    for event in pygame.event.get(): 
     if event.type == pygame.QUIT: 
      pygame.quit() 
      quit() 
     if event.type == pygame.KEYDOWN: 
      if event.key == pygame.K_RETURN: 
       start_time = pygame.time.get_ticks() 

    screen.fill(BG_COLOR) 

    if start_time: 
     time_since_enter = pygame.time.get_ticks() - start_time 
     message = 'Milliseconds since enter: ' + str(time_since_enter) 
     screen.blit(FONT.render(message, True, TEXT_COLOR), (20, 20)) 

    pygame.display.flip() 
    clock.tick(60) 

pygame.quit() 
+0

ありがとう!この質問にもう少し時間と努力を払うと、私はその単純なロジックを思いついたでしょう:Dありがとう!! –

関連する問題