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

一、控件功能描述

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

二、实现策略

         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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值