【发布时间】:2014-01-07 04:12:54
【问题描述】:
我的游戏地图是一个二维矩阵,由不同的图块组成(例如 map[y][x] = 图块)。每个图块都有一个图像和一个矩形。目前地图的大小接近 1000 个图块,将每个图块都粘贴到屏幕上需要相当长的时间。
我当前的目标是找到一种方法来减少访问矩阵的每个项目所需的时间,并且只将必要的图块对象blit 到屏幕上。这是我试图找到解决方案的主要障碍:
- 因为它是一款横向滚动游戏,所以没有一个图块是静态的(矩形总是随着玩家的移动而调整,因此必须重新填充整个屏幕)。
以下是地图在游戏中的一般功能:
- 对于 tile 矩阵中的 tile:blit tile 到屏幕
- Blit 玩家和 NPC
- 更新玩家位置
- 如果玩家移动:调整所有图块(摄像头系统)
我正在寻找更有效的想法来做同样的事情。正如我在上面所说的,对每个该死的图块进行 blit 需要很多时间,此外,我不确定如何在它们不断变化的位置时选择性地 blit 不同的图块。 欢迎所有想法。谢谢。
【问题讨论】:
标签: python user-interface pygame