cocos-creator使用记录19_根据当前关卡自动调整的滚动区

1.适用的情况
左右滑动式滚动区的关卡界面


2.实现的思路
关卡按钮使用预制文件,在进入关卡时动态生成。
根据关卡总数计算滚动区的大小。
根据当前关卡序号设置滚动区的位置和表示分页的点的显示。


3.控件布局
Canvas
--scrollView
  --view
    --content
--pointNode
  --point1
    --red
--black
  --point2
  --point3
  --point4
  --point5  
  --point6


4.代码
Common.js-------------------
module.exports = {
currentLevel: 1, //当前关卡
    maxLevel: 29, //关卡总数
};
Level.js-------------------
var common = require('zqddn_zhb_Common');
cc.Class({
    extends: cc.Component,


    properties: {
        scrollViewNode: cc.Node, //滚动区节点
        scrollViewContentNode: cc.Node, //滚动区内容节点
        linePrefab: cc.Prefab, //线预制
        levelBtnPrefab: cc.Prefab, //关卡按钮预制
        pointNode: { default: [], type: cc.Node }, //点节点
    },


    onLoad: function() {
        this.first = true; //第1次
        this.only1 = true; //只一次
        this.only2 = true;
        this.only3 = true;
        this.currentPageIndex = 0; //当前滚动页序号
        this.direction = 0; //滚动方向(0默认,1左,2右)
        this.startOffset = 0; //开始滚动时第1帧
        this.endOffset = 0; //开始滚动时第2帧


        //根据关卡数设置滚动区大小
        this.pageCount = Math.ceil(common.maxLevel / 12);
        this.scrollViewContentNode.width = 750 * this.pageCount;
        //添加线
        for(var i = 0; i < this.pageCount; i++){
            for(var j = 0; j < 4; j++){
                var line = cc.instantiate(this.linePrefab);
                this.scrollViewContentNode.addChild(line);
                line.setPositio
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Cocos Creator是一个用于游戏开发的跨平台游戏引擎,它提供了丰富的功能和工具来创建各种类型的游戏,包括无限滚动关卡列表。下面是一个简单的介绍: 在Cocos Creator中,你可以使用ScrollView组件来实现无限滚动关卡列表。ScrollView是一个可滚动的容器,可以在其中添加子节点,并通过滑动来浏览内容。 要实现无限滚动关卡列表,你可以按照以下步骤进行操作: 1. 创建一个ScrollView节点,并设置它的大小和位置。 2. 在ScrollView节点下创建一个Content节点,用于容纳所有的关卡项。 3. 在Content节点下创建多个关卡项节点,每个节点代表一个关卡。 4. 设置Content节点的大小和位置,使其能够容纳所有的关卡项。 5. 在脚本中编写逻辑代码,实现滚动时动态加载和回收关卡项。 具体的实现方式可以参考以下步骤: 1. 在脚本中定义一个数组或者其他数据结构,用于存储所有的关卡数据。 2. 在ScrollView的脚本中,监听滚动事件,并根据滚动位置计算当前可见的关卡范围。 3. 根据当前可见的关卡范围,动态创建或者显示对应的关卡项节点,并设置其位置和内容。 4. 当关卡项离开可见范围时,将其回收到对象池中,以便后续复用。 5. 根据滚动方向和滚动速度,动态加载新的关卡数据,并创建对应的关卡项节点。 这样,就可以实现一个无限滚动关卡列表了。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值