1. 程式人生 > 程式設計 >Python使用Pygame繪製時鐘

Python使用Pygame繪製時鐘

本文例項為大家分享了Python使用Pygame繪製時鐘的具體程式碼,供大家參考,具體內容如下

前提條件:

需要安裝pygame

功能:

1.初始化介面顯示一個時鐘介面

2.根據當前的時間實現時針、分針、秒針的移動

import pygame,sys,random,math
from datetime import datetime
from pygame.locals import *
 
 
def print_text(font,x,y,text,color=(255,255,255)):
  img_text = font.render(text,True,color)
  screen.blit(img_text,(x,y))
 
 
pygame.init()
 
# 螢幕大小
screen = pygame.display.set_mode((600,500))
# 標題
pygame.display.set_caption("時鐘")
# 字型
font1 = pygame.font.Font(None,24)
# 圓心位置
pos_x = 300
pos_y = 250
# 圓的半徑
radius = 250
r = random.randint(0,255)
g = random.randint(0,255)
b = random.randint(0,255)
 
while True:
  for event in pygame.event.get():
    if event.type == QUIT:
      sys.exit()
  keys = pygame.key.get_pressed()
  if keys[K_ESCAPE]:
    sys.exit()
  screen.fill((0,100))
  color = r,g,b
  pygame.draw.circle(screen,color,(pos_x,pos_y),radius,6)
  # 繪製數字1-12
  for i in range(1,13):
    angle = math.radians((360 / 12) * i - 90)
    x = math.cos(angle) * (radius - 20) - 10
    y = math.sin(angle) * (radius - 20) - 10
    print_text(font1,pos_x + x,pos_y + y,str(i))
  # 繪製時針
  hour = datetime.today().hour % 12 # 獲取當前時間的小時
  hour_angle = math.radians((360 / 12) * hour - 90)
  hour_x = math.cos(hour_angle) * (radius - 90)
  hour_y = math.sin(hour_angle) * (radius - 90)
  pygame.draw.line(screen,(255,0),(pos_x + hour_x,pos_y + hour_y),12)
  # 繪製分針
  minutes = datetime.today().minute # 獲取當前時間的分鐘
  minutes_angle = math.radians((360 / 60) * minutes - 90)
  minutes_x = math.cos(minutes_angle) * (radius - 70)
  minutes_y = math.sin(minutes_angle) * (radius - 70)
  pygame.draw.line(screen,(0,(pos_x + minutes_x,pos_y + minutes_y),8)
  # 繪製秒針
  seconds = datetime.today().second # 獲取當前時間的秒數
  seconds_angle = math.radians((360 / 60) * seconds - 90)
  seconds_x = math.cos(seconds_angle) * (radius - 30)
  seconds_y = math.sin(seconds_angle) * (radius - 30)
  pygame.draw.line(screen,255),(pos_x + seconds_x,+ pos_y + seconds_y),4)
  # 覆蓋圓心
  pygame.draw.circle(screen,10)
 
  pygame.display.update()

執行結果:

Python使用Pygame繪製時鐘

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。