本文实例为大家分享了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, 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, 0), (pos_x, pos_y), (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, 255, 0), (pos_x, pos_y), (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, (0, 0, 255), (pos_x, pos_y), (pos_x + seconds_x, + pos_y + seconds_y), 4) # 覆盖圆心 pygame.draw.circle(screen, (255, 255, 255), (pos_x, pos_y), 10) pygame.display.update()
运行结果:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com
暂无评论...
更新日志
2024年11月15日
2024年11月15日
- 文章.2004-被遗忘的时光【华博音乐】【WAV+CUE】
- 群星《青葱韶歌》原力计划·毕业季企划合辑[FLAC+分轨][661M]
- 群星《抖烧 DSD》抖音神曲 [WAV分轨][992M]
- 庾澄庆《哈林天堂》索尼音乐[WAV+CUE][1G]
- 英雄联盟全球总决赛多久打一次 全球总决赛举办频率介绍
- 第二届老头杯什么时候开始选人 第二届老头杯选人时间介绍
- 英雄联盟第二届老头杯什么时候开始 老头杯s2赛程时间队伍名单汇总
- AI赋能卓越显示技术共筑数字未来:三星显示器产品矩阵亮相2024进博会
- 技术剖析:天玑9400如何打造移动最强GPU和游戏体验?
- 顶级装备 实力登顶:三星显示器双十一焕新升级最后冲刺
- 陈影《绝色靓声》WAV+CUE
- 龚玥《禅是一枝花(6N纯银SQCD)》原抓WAV+CUE
- 刘德丽《寂寞在唱歌HQCD+A2HD5》[WAV+CUE]
- 萧亚轩《钻石糖》金牌大风[WAV+CUE][989M]
- 王菲《王菲精选-菲卖品》环球唱片SHM-SACD[ISO][1.9G]