可以把精灵换成tilemap,用动作来设置某一编号图块的样式,可以解决消耗大量资源的问题。当然用起来肯定没有直接创建精灵那么简单直观,这个你就自己去多试试吧。
另外关于绘制不规则地图的方法,网上有挺多的。 有兴趣的可以看一下【元胞自动机】的使用。我的理解是每一个地图块自己去根据周围地图块的状态(规则可以自定义,比如自身周围有多少个墙壁时),来改变自身的状态。每一个周期所有的地图块都会演变一次,在多次演变后,最终形成一个新的地图。(我讲的可能不清楚,这个你去网上搜索一下就有很多了。)
这个是最开始完全随机生成的地图(绿色灰色2选一,没有其他规则。) 这个是进行了一次演变的地图(规则是我之前在其他代码的教程里看的,我只是把代码的东西搬过来转换成事件表来使用) 当前为墙壁时:如果周围有4个以上墙壁,则保持墙壁,否则变为道路 当前为道路时:周围墙壁有5个以上时,变为墙,否则保持道路
第三次优化
创建地图就循环创建就好了,优化的动作组是这个。 【获取周围墙壁数量】就比较一下坐标就好了,这个自己去解决,获取到之后,先记录要转换的类型,但不要转换。 等所有地图块都计算完后,在去转换,不然会有问题。
ps:这个是比较早的时候试验的时候做的,没有做过什么优化。 如果地图块都用精灵的话,在优化时会卡顿一秒左右,因为计算量比较多。所以你如果要试验这种方法,可以把精灵转换成tilemap,就像我最开始说的那样。