我正在制作平台游戏,使用基于图块的地图(像很多人一样)。我从视频游戏的开发开始,所以它有点难。我不想自己学习,但在这个问题上,我被困住了。
我的地图是用这样的列表制作的:
mapList[x][y] = tile
通过这个列表,我可以遍历所有Tiles并绘制它们。
我想做的是“循环”(重复)地图。我的意思是,当角色达到正确的极限(或左)时,地图会重复。我不明白怎么做,我搜索所有论坛和所有问题,但我一无所获:(
我不知道自己是否清楚自己,但英语不是我最好的语言,我很抱歉:p。
提前感谢您试图帮助我或仅仅是为了阅读我的问题。
答案 0 :(得分:0)
如果网格是WxH单元格,则X的有效范围为0..W-1
所以作为第一种方法:
int nextX = (X+1) % W; // wraps around to 0
但是你也需要一些针对prevX(X-1)的东西,也许还需要X + d,其中d可以是正面的或负面的。
你不想搞乱负数的模数,所以
int MoveX(int d) { return (X+W+d) % W; }