如何绘制不规则地图
-
@DionysusF5 这个思路我也想过,还是谢谢你了。
-
@DionysusF5 那么大佬该如何绘制碰撞呢
-
@唤境用户11704324 墙的位置放置刚体
-
@DionysusF5 大佬能不能把生成的事件表截图下?不会写...另外想问下跨场景的时候怎么保存?每个位置的坐标.图块类型都要单独存2个数组,然后回来时生成?感觉这样好麻烦
-
@疑似陆飞 这个规则我是看的这位博主的想法然后在唤境上重现的,有兴趣可以去看一下他说的思路。 https://indienova.com/indie-game-development/procedural-content-generation-tile-based-random-cave-map/
这个是生成,每个格子都生成一个地图块,地图块的类型随机选择
这个是优化地图,每个地图块都循环一次。先获取当前地图块周围的类型为【墙壁】的地图块的数量。然后根据这个数量,决定当前地图块转变为什么类型(道路或墙壁)。 决定好后不要立刻修改,否则会影响后面的地图块的运算,先用实例变量记录自己要转变成什么类型的地图块。
所有地图块都计算过后,再去循环一遍,去转变地图块的类型。 获取周围墙壁数量就直接比较坐标就好了,这个没什么好说的。
-
@疑似陆飞 另外跨场景保存这个你肯定要记录坐标这些到数组的。 如果你不想记录,那就不要跨场景。 用一个图层来做大地图之类的。 但其实记录没那么麻烦。 你不需要每次跳转场景都重新记录大地图的样式,在第一次生成的时候顺便去记录就好了。 后面重新回到大地图就直接用数组里的坐标去重新生成一遍。
-
@DionysusF5 感谢,确实时有我没熟练掌握的知识点.
-
@DionysusF5 ! 再问下这里为什么会选择用*10的方法?跟直接用1-400的for循环1样的吧,还是说有什么独到之处?
-
@疑似陆飞 我这里一个格子的宽高就是10。 每个格子的间距也是10,这里是为了计算生成位置。直接用一个1-400的循环不方便计算XY坐标。
-
@DionysusF5 我忽略了每个格子的高宽,以为直接是按地图的XY来的..现在明白了,这样挺方便的