怎样用python代码实现简易的时钟效果呢
Admin 2022-09-14 群英技术资讯 268 次浏览
使用python制作好看的时钟,供大家参考,具体内容如下
游戏用到初高中使用的三角函数等知识开发,长话短说,上完整程序。
#-*- coding:utf-8 -*- import sys,random,math,pygame from pygame.locals import * from datetime import datetime,date,time def print_text(font,x,y,text,color=(255,255,255)): imgText=font.render(text,True,color) screen.blit(imgText,(x,y)) def wrap_angle(angle): return angle % 360 pygame.init() screen=pygame.display.set_mode([600,500]) pygame.display.set_caption("AnalogClock") font = pygame.font.Font(None,36) orange=220,180,0 white=255,255,255 yellow=255,255,0 pink=255,100,100 pos_x=300 pos_y=250 radius=250 angle=260 while True: screen.fill([0,0,0]) 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]) pygame.draw.circle(screen,white,(pos_x,pos_y),radius,6) for n in range(1,13): angle=math.radians(n*(360/12)-90) x=math.cos(angle)*(radius-20)-10 y=math.sin(angle)*(radius-20)-10 print_text(font, pos_x+x, pos_y+y, str(n)) today=datetime.today() hours=today.hour % 12 minutes=today.minute seconds=today.second hour_angle=wrap_angle(hours*(360/12)-90) hour_angle=math.radians(hour_angle) hour_x=math.cos(hour_angle)*(radius-80) hour_y=math.sin(hour_angle)*(radius-80) target=(pos_x+hour_x,pos_y+hour_y) pygame.draw.line(screen,pink,(pos_x,pos_y),target,25) min_angle=wrap_angle(minutes*(260/60)-90) min_angle=math.radians(min_angle) min_x=math.cos(min_angle)*(radius-60) min_y=math.sin(min_angle)*(radius-60) target=(pos_x+min_x,pos_y+min_y) pygame.draw.line(screen,orange,(pos_x,pos_y),target,12) sec_angle=wrap_angle(seconds*(360/60)-90) sec_angle=math.radians(sec_angle) sec_x=math.cos(sec_angle)*(radius-40) sec_y=math.sin(sec_angle)*(radius-40) target=(pos_x+sec_x,pos_y+sec_y) pygame.draw.line(screen,yellow,(pos_x,pos_y),target,6) pygame.draw.circle(screen,white,(pos_x,pos_y),20) print_text(font, 0, 0, str(hours)+":"+str(minutes)+":"+str(seconds)) pygame.display.update()
编译后的到的结果为:
是不是挺有趣的,游戏开发就是要用到很多的算法,以后的路还得慢慢的努力了。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
ROS通过一个叫CvBridge的功能包,将获取的图像数据转换成OpenCV的格式,OpenCV处理之后,传回给ROS进行图像显示(应用),这篇文章主要介绍了Python中ROS和OpenCV结合处理图像问题,需要的朋友可以参考下
这篇文章主要为大家介绍了Python Map 函数,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
使用python怎样实现图片反转效果?很多朋友对于怎样做图片和视频的反转效果比较感兴趣,其实实现思路并不困难,这篇文章就给大家分享一下python实现图片和视频反转效果的代码,感兴趣的朋友可以参考。
这篇文章主要为大家介绍了python深度学习tensorflow1.0参数初始化initializer示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
题目一:python中String类型和unicode什么关系整理答案:string是字节串,而unicode是一个统一的字符集,utf-8是它的一种存储实现形式,str
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008