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