多人游戏的场景加载的思考

原本完全没想到这些,无意中在某博客中看到的demo.才突然顿悟。写下自己的思考,以后有机会来实现。

多人游戏场景加载的一般方式是:

打开游戏,出现一个进度条。表示当前游戏场景的加载进度,加载完毕后,进入游戏。

某博客中的场景加载方式是:

打开游戏,无需等待,直接进入游戏。游戏场景在游戏中分块加载完毕。即玩家可以看到地图区块慢慢填满屏幕的效果。

我思考的场景加载方式是:

以玩家所在位置做放射状地图加载,这种方式可以比较容易的实现卡马克卷轴算法。

要实现的方式并不复杂。首先,将地图场景进行切块。然后根据行列值存进xml的节点中。

进入游戏后,根据玩家所在的地图坐标,算出玩家所在的行列值。然后去xml列表中找到对应的地图区块,并以此为原点放射性的加载周围的地图。

实现卡马克卷轴算法的方式是:玩家与屏幕边距的差值/地图区块的大小。算出玩家到地图四周个需要几行,几列。 在放射性加载地图区块的函数中,用一个递归循环去加载区块到边沿。这样遍实现了,玩家所能看到的区域就是所需绘图的区域,玩家看不见的区域完全不进行绘图。这样能提高地图的加载速度和fps.

嘛~以上! 顺便再次哀悼下:乔帮主,您走好~

发表评论

电子邮件地址不会被公开。 必填项已用*标注