時計
Coddyの「Pygameでゲームを作ろう」コースのレッスン 4/40。
ループはコンピューターが処理できる限りの速さで実行されます。高速なマシンでは1秒間に数千フレーム、低速なマシンではそれより少なくなります。ゲームはどの環境でも同じ速度で動作する必要があります。
pygame.time.Clockを使うと、実行速度を調整できます。ループの前にインスタンスを作成し、各反復の最後にclock.tick(60)を1回呼び出します。こうすると、ループの実行回数が1秒間に最大60回になるよう、必要な時間だけ待機します。
clock = pygame.time.Clock()
running = True
while running:
# イベント処理、描画、画面の更新
clock.tick(60)滑らかな動きには、通常、1秒間に60フレームが適しています。これ以降、1フレームごとに4ピクセル動くものは、1秒間に240ピクセル動きます。
チャレンジ
簡単set_captionの行の下に、クロックを作成します:clock = pygame.time.Clock()。- ループの最後の行として、flipの後に
clock.tick(60)を呼び出します。
自分で試してみよう
import pygame
pygame.init()
screen = pygame.display.set_mode((480, 360))
pygame.display.set_caption("Move the Square")
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
screen.fill((30, 30, 46))
pygame.draw.rect(screen, (255, 196, 0), (220, 160, 40, 40))
pygame.display.flip()
pygame.quit()
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
Pygameでゲームを作ろうのすべてのレッスン
自分で練習してみよう: Pygameプレイグラウンド