我的游戏框架基础构建篇(cocos2dx 循环滚动地图的实现)

来源:互联网 发布:android相册开发源码 编辑:程序博客网 时间:2024/05/16 04:07

一、控件功能描述

         本控件将实现游戏中常见的动态循环滚动的地图控件。其将具备定速滚动地图,并且每滚动完一张地图便添加一张新地图。

二、实现策略

         1、控件基于一个容器layer,然后添加若干( 目前设置为3 ) 的的子layer作为显示滚动地图的载体layer

         2、初始先给每个载体layer添加一个显示地图

         3、装配一个定时器,每帧去按指定的速度移动这些载体layer,移动完载体layer后在判断是否有layer滚出的容器layer,如果滚出了容器layer则将载体layer的显示地图删除,再创建一个新的显示地图添加上去,再将载体layer移动到当前所有载体layer的最后

三、实现思考

      1、为啥要说是若干的载体layer,而不是固定 2 个或者 3个呢?其实我主要的考虑是,如果每个显示地图的初始化是比较复杂(其实就是耗时)的话,那么我们需要足够长的时间给其初始化,而不影响用户体验。那么增加多几个有什么用呢,那就是我可以通过多多几个载体layer的方法增加滚动到显示地图的时间,然后对显示地图增加分帧初始化的功能。所谓的分帧初始化就是每帧只初始化显示地图的一部分。这样就不会出现复杂显示地图切换地图的时候会卡的问题(这个还只是我的目前想法具体可能还需要实际情况去考验)。

四、实现源码

    https://github.com/xzben/GameFrame/blob/master/client/GameClient/src/core/ScrollMap.lua

      

  

0 0
原创粉丝点击