gpt4 book ai didi

c# - 基于二维图 block 的 map - 如何在边缘重复 map ?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:26:39 25 4
gpt4 key购买 nike

我正在制作一款平台游戏,带有基于图 block 的 map (就像很多人一样)。我开始从事视频游戏的开发,所以有点困难。我不想自己学习,但在这个问题上我被困住了。

我的 map 是用这样的列表制作的:

mapList[x][y] = tile

有了这个列表,我可以遍历所有的 Tiles 并绘制它们。

我想做的是“循环”(重复) map 。我的意思是,当角色到达右极限(或左极限)时, map 会重复。我不明白该怎么做,我搜索了所有论坛和所有问题,但我一无所获:(

For instance

我不知道我是否表达清楚了,但英语不是我最好的语言,对此我深表歉意:p。

在此先感谢您尝试帮助我或阅读我的问题。

最佳答案

当您的网格是 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; }

关于c# - 基于二维图 block 的 map - 如何在边缘重复 map ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9684910/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com