我在战斗机中找到了'm making a heads-up display, similar to what you'(http://i1.ytimg.com/vi/RYjBjT79hLo/hqdefault.jpg) .

有些元素只停留在屏幕上的一个位置,如空速和高度 . 这很简单 .

我遇到麻烦的部分是阶梯(在地平线上方/下方显示5,10,15等度的条形)和水平线 . 我试图实现它的方法是有一个png文件,其中已经创建了从-90到90的所有条形 . 此文件的分辨率远远大于我的显示窗口,因此屏幕上仅显示与当前音高对应的条形/ -10度 . 当用户投球时,图像向下移动,反之亦然 . 随着漂移角度增加(航向和速度矢量之间的角度,即侧滑),HUD向左或向右移动 . 问题在于轮换 . 我希望能够指定图像中心点的位置和旋转角度,而不仅仅是左上角,并让pygame正确渲染它 . 我不太确切知道rects是如何工作的,这是问题的一部分 .

我的数学背景告诉我,最简单的方法是在屏幕上获取每个像素值的数组,然后乘以基于音高和滚动的变换矩阵,但我不认为pygame实际上允许你访问低级信息 .

[编辑]第二个想法,像素阵列可能不是最简单的 . 变换矩阵编辑数组中每个元素的值,但像素数组包含每个元素中的RGB信息 . 变换矩阵只会编辑每个像素的颜色,而不是实际变换它们 . 嗯...... [/编辑]

似乎pygame真的希望所有东西都被装在与屏幕边框平行的矩形中,这对于滚动飞机来说是一个问题 . 我曾考虑过使用OpenGL,但这似乎有些过分 . 任何人都可以帮我在pygame中这样做吗?谢谢!