今天小千来给大家分享一篇用Python实现一个实时运动的大挂钟效果,最终的效果如下图所示,喜欢的话看下去~~
本项目用到的库主要有pygame、math、datetime等,另外还用到一些数学知识,勾股定理搞不明白的朋友就不要往下看了,可能会头晕。
第一步:用pygame画个圆
1.初始化画布参数
设置画布大小,添加标题,设置圆的原点、半径和角度:
2.画1个黑色边框的圆:
第二步:在圆上添加数字和刻度
1.添加数字
把圆周等分为12份,那么每份的角度为360/12,因为0点在垂直方向,所以再减去90度,由勾股定理,x=半径*cos(角度),y=半径*sin(角度),
因此代码设置如下:
2.添加刻度
原理同上,只不过把圆分成了60份
第三步:画时针、分针和秒针
1.把当天的日期提取出来
我们需要用python的datetime库:
再把月、日、时、分、秒提取出来:
2.开始画线,让指针动起来
先在中间画个半径为20的小圆圈
再画时针,主要用到pygame的draw.line函数:
效果图:
分针和秒针的的划线原理同时针,区别在于长度和粗细,加上分针和秒针的图为:
第四步:添加日期和星期
先将日期转化为星期,主要用到datetime及date函数:
这样之后我们再次运行程序就能看到最终的效果啦,看完之后别忘记自己上手试一试哦~
本文来自千锋教育,转载请注明出处。