|
|
前辈们不好意思又麻烦了
对于Staggered Tile 算法有点不清楚的地方 希望能在百忙之中为不才解释一二
***********************************************
网上资源 :
void CalculateMapTilePos(int n_map_pos_x,
int n_map_pos_y,
int & n_scrn_pos_x,
int & n_scrn_pos_y)
{
n_scrn_pos_x = n_map_pos_x * iso_tile_size_x
+ (n_map_pos_y & 1) * (iso_tile_size_x / 2);
n_scrn_pos_y = (n_map_pos_y) * iso_tile_size_y / 2;
}
在这个公式中,n_map_pos_x是地图纵横的横向座标,n_map_pos_y是地图纵横的纵向座标,n_scrn_pos_x和n_scrn_pos_y是地图元素在屏幕上的纵横座标。
***********************************************
问题一) 请问(n_map_pos_y & 1)这一段的作用为何 自己谨知道这地图的方法该为左向右
由高往下绘出
可为什么x插入位置还要考虑Y-Coordinates ?
难道于在双数行X会偏移半个Tile Width 有关 ?
& << 不好意思问一下这符号不是取位符吗 ?
问题二) 这段代码看起来并没有重覆呼叫也无递归 请问怎样实现地图拼接呢 ?
问题三 ) 请问Diamond 拼接法是否由其演变而出 不知道前辈们可不可以不吝分享这公用的算法呢 ??
以上
感谢 ^^ |
|