游戏地图分块加载思路篇
(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)示例
上一篇:
IDEA上Java项目控制台中文乱码