先看看地图元素:
可以看出来是个扁的菱形。这个地图元素的大小是
64X32
,你可以随意决定元素长宽,在设计程序时,地图元素大小并不重要,只要把尺寸扔进绘图方程,程序就能正确地绘制地图。在这个例子中,我们就先用
64X32
来演示。
那么这个公式是怎么样的呢?先看看
Staggered
地图:
<-- Staggered
这个地图有
5
行,看着这个地图你会想,怎么拼图才能将地图拼出来。再画张图来演示:
从这张图可以看出,拼图时从左到右,从上到下,跟正规的矩形拼图一样,唯一同的是,地图元素与元素之间有重叠,看看第一行和第二行之间,第二行的地图元素会压在第一行的元素上,而第三行的的地图元素则压在第二行的元素上。所以,只要找到正确的公式,你就能正确地设计程序,再来一张图:
图上绿点(是高亮度绿色,不是暗绿色)是每块地图元素的起点,第一行的座标是
0
,第二行的座标是
1
,第三行的座标是
2
,
......
由这些行位座标决定你的地图元素的起点,从这个规律中看出行位座标
0
,和行位座标
2
的横向座标
X
的起点是一样的是
0
,行位座标
1
的起点是向右移半块地图元素。
再从纵向座标找规律,看行位座标
0
和行位座标
2
,两块地图元素之间的距离刚好是一块地图元素的高。再看看行位座标
0
和行位座标
1
,两块地图元素之间的距离刚好是半块地图元素的高。所以,计算每块地图元素的位置,你的公式刚好是:
在这个公式中,n_map_pos_x是地图纵横的横向座标,n_map_pos_y是地图纵横的纵向座标,n_scrn_pos_x和n_scrn_pos_y是地图元素在屏幕上的纵横座标。
重要:
首先以上的公式只适用于
Staggered
斜
45
度角地图,而
slide
,和
Diamond
形地图,这个公式要稍加修改才能用。
Slide:
Diamond:
| |
|
斜45度角地图拼接
最新推荐文章于 2018-10-02 22:44:12 发布