“编学编玩”用Pygame编写游戏(5)pygame绘制一个钟表

作者:J.sky · 发表于:
2017-10-23T15:51:11.000000Z
· 更新于:
2023-08-13T22:54:33.250404Z
· Tag: pygame

游戏中绘制圆及圆形的轨迹需求还是不少的,而且很多地方都需要用到圆及弧度的理论,如果想做些游戏的话,必须熟练掌握这些基本知识。

一些知识点

  • radius 圆的半径
  • diameter 圆的直径
  • angle 角度
  • 一个圆的完整的弧度 PI*2=6.28
  • 1弧度的角度值为 360/6.28=57.3248
  • 1度的弧度值为 6.28/360=0.0174
  • math.degrees(x)将角度x从弧度转换为度。
  • math.radians(x)将角度x从度转换为弧度。
  • math.sin(x)返回x弧度的正弦值。
  • math.cos(x)返回x弧度的余弦值。

圆周上点的坐标

x = math.cos(math.radians(angle)) * (radius)
y = math.sin(math.radians(angle)) * (radius)

如果不想深入了解的话,只需要记住,我们需要角度,即可求得圆周上的坐标值,对就上边的函数解释应该可以理解上边的python语句的含意。

实例

没有比绘制一个表盘更贴近实际需求的例子了,通过pythondatetime函数,我们可以很方便的获得时间,然后转换成相关数据。

以下为游戏效果图,建议下载相关代码跑一下,有问题可以留言给我。

输入图片说明

本文源码下载

请git clone 下所有代码,以免造成游戏跑不起来的情况。本例源文件pygame05.py