Skip to content

地图的绘图顺序

SunTY edited this page Mar 8, 2022 · 1 revision

在场景图中,因为每个贴图只占据一个坐标点,所以只需按照x+y的顺序即可。

在大地图中,每个贴图占据的坐标点不定,所以绘图顺序需要实时计算。

DOS版中是每发现一个建筑,则需要将新发现的建筑与所有已知的建筑比较,得到应有的位置,此处一般来说应使用链表,DOS版可能是边查找边排序。

但是从原版文件的格式来看,没有完美的排序方案。故pascal版和c++版都是依据贴图的尺寸,估算出贴图中座的位置,进行排序,该方法在大部分情况没有问题。

在代码中,需要绘制的坐标的计算方法,实际上是计算出一个稍大于屏幕的矩形范围,只绘制该范围内的图。

Clone this wiki locally