デジタル時計を作成しよう
前回まではアナログ時計を作成してきました。
今回はデジタル時計を作成しましょう。
デジタル時計はアナログ時計と違って、難しい角度計算などは一切不要なので、非常に簡単です。
現在時刻を取得して、時分秒を表示すれば良いだけです。
なお、等幅フォントを使用しないと、時刻を表示する時にズレが生じてしまいます。
デジタル時計のプログラム
以下は、現在時刻をデジタルで表示するプログラムです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
### インポート import datetime import pygame from pygame.locals import * ### 定数 WIDTH = 400 # 幅 HEIGHT = 200 # 高さ ### モジュール初期化 pygame.init() ### 時間オブジェクト生成 clock = pygame.time.Clock() ### 画面設定 surface = pygame.display.set_mode((WIDTH,HEIGHT)) ### 無限ループ while True: ### 画面初期化 surface.fill((0,0,0)) ### 現在時刻取得 now = datetime.datetime.now() ### 時刻フォント設定 font = pygame.font.SysFont("ocrb", 80) time = "{:02}:{:02}:{:02}".format(now.hour, now.minute, now.second) text = font.render(time, True, (255,255,255)) ### 時刻表示 surface.blit(text, (int((WIDTH-font.size(time)[0])/2),int((HEIGHT-font.size(time)[1])/2))) ### 画面更新 pygame.display.update() ### フレームレート設定 clock.tick(100) ### イベント処理 for event in pygame.event.get(): if event.type == KEYDOWN and event.key == K_ESCAPE: break else: continue ### whileループ終了 break ### 終了処理 pygame.quit() |
プログラムを実行すると、デジタル時計が表示されます。