Pygame - 如何加速复杂的绘图

时间:2018-04-07 07:17:33

标签: python numpy pygame

我有一个特定的问题。我创建了简单的游戏环境,包括我应该在Pygame中呈现的多边形对象(X,Y点)(至少是靠近相机的对象)。物体在Z方向上具有不同的水平。相机可以在环境中旋转,也可以缩小/缩小。

我正在使用:Python 3.6中的Pygame和带有点/多边形的操作数的 Numpy

问题:

  • 每一帧(40 FPS)都必须再画一遍 - 因为相机的位置和地图的旋转可能会改变
  • 对象应根据与相机的(X,Y)距离进行不同的渲染,因此无法将地图创建为一个位图并只进行平移(缩放,旋转)。 "视图"必须在每一步中重新创建。

当前解决方案:

  1. 在每一步中,我都会根据相机的距离来计算平移多边形的位置。
  2. 我首先计算应该绘制的顺序 - 以避免对象的不正确重叠。
  3. 使用pygame
  4. 渲染为多边形

    此解决方案效果很好,但如果对象太多(数百个),则速度太慢。

    问题:

    有没有更快的方法来渲染多边形并将其作为每个帧中的位图传递给pygame?

    我是否应该尝试将多项手动绘制到numpy数组中并将其转换为位图?

    我应该尝试使用像OpenCV这样的东西吗?

    是否有其他语言的其他工具?那可以轻松插入Pygame?

0 个答案:

没有答案