(1)需求
通常游戏地图较大,一次性加载时间较长,且加载之后用户不一定会走完地图的每个角落。故为了减少客户端等待地图加载的时间以及降低客户端的内存消耗,我们就需要用到地图的分块加载。
(2)资源
游戏地图大小尺寸各一张,将大尺寸地图拆分成若干块,小块图片的命名规则定义如下X_Y.文件类型,如果把一块大地图分成四块,那么这四块的命名分别为(此处假设类型为JPG):0_0.jpg,0_1.jpg,1_0.jpg,1_1.jpg。关于切图工具可参看《游戏地图动态加载资源篇——切图工具》。
(3)流程
a.加载小尺寸地图,并且以大尺寸来显示,这时就会出现模糊类马赛克效果的地图;
b.计算角色所处的当前屏的范围(x,y,width,height计算范围),根据屏幕显示左上角以及右下角的坐标,将其转换为二维数组的Index,拼成文件地址动态加载当前屏幕的小块地图。
c.接收到当前角色的移动指令,根据其目标坐标计算出显示范围,依照B中的方法加载需要新加载的小块地图,若大地图较大,可考虑移除超出屏幕的已经加载的小块地图,若大地图较小,可不必移除。
(4)示例 点此下载(只做效果演示,代码简单,故未上源码,下载请慎重)
欢迎交流学习!不喜勿喷!编辑不易,转载请注明出处http://hi.baidu.com/sxw52039/home!