原本完全没想到这些,无意中在某博客中看到的demo.才突然顿悟。写下自己的思考,以后有机会来实现。
多人游戏场景加载的一般方式是:
打开游戏,出现一个进度条。表示当前游戏场景的加载进度,加载完毕后,进入游戏。
某博客中的场景加载方式是:
打开游戏,无需等待,直接进入游戏。游戏场景在游戏中分块加载完毕。即玩家可以看到地图区块慢慢填满屏幕的效果。
我思考的场景加载方式是:
以玩家所在位置做放射状地图加载,这种方式可以比较容易的实现卡马克卷轴算法。
要实现的方式并不复杂。首先,将地图场景进行切块。然后根据行列值存进xml的节点中。
进入游戏后,根据玩家所在的地图坐标,算出玩家所在的行列值。然后去xml列表中找到对应的地图区块,并以此为原点放射性的加载周围的地图。
实现卡马克卷轴算法的方式是:玩家与屏幕边距的差值/地图区块的大小。算出玩家到地图四周个需要几行,几列。 在放射性加载地图区块的函数中,用一个递归循环去加载区块到边沿。这样遍实现了,玩家所能看到的区域就是所需绘图的区域,玩家看不见的区域完全不进行绘图。这样能提高地图的加载速度和fps.
嘛~以上! 顺便再次哀悼下:乔帮主,您走好~