-
Notifications
You must be signed in to change notification settings - Fork 376
地图的绘图顺序
SunTY edited this page Mar 8, 2022
·
1 revision
在场景图中,因为每个贴图只占据一个坐标点,所以只需按照x+y的顺序即可。
在大地图中,每个贴图占据的坐标点不定,所以绘图顺序需要实时计算。
DOS版中是每发现一个建筑,则需要将新发现的建筑与所有已知的建筑比较,得到应有的位置,此处一般来说应使用链表,DOS版可能是边查找边排序。
但是从原版文件的格式来看,没有完美的排序方案。故pascal版和c++版都是依据贴图的尺寸,估算出贴图中座的位置,进行排序,该方法在大部分情况没有问题。
在代码中,需要绘制的坐标的计算方法,实际上是计算出一个稍大于屏幕的矩形范围,只绘制该范围内的图。
footer