签到(CocosCreator)

简介: 签到(CocosCreator)
推荐阅读:

1.前沿

      签到模块几乎是每个游戏必不可少的模块,它存在的目的主要是为了让玩家坚持每天上线,给予这些玩家一定的奖励,从而保证游戏留存率。
      今天来给大家讲讲签到模块的实现,并提供一些优质的方法,实现某些功能。先说说我们的需求吧,需要显示整月每日的签到奖励信息,签到情况。为了美观,将其设计为上下滑动可查看当月整体情况。

2.UI界面

      1.添加一个ScrollView,命名为signScrollView,调整合适大小,设置ScrollView属性如下:
在这里插入图片描述
      主要注意取消勾选Horizantol(即取消水平滑动,允许垂直滑动,该功能可根据实际情况修改)
      2.同时调整ScrollView下的View大小,和ScrollView大小保持一直,表示显示窗口大小。
      3.为View下的content添加Layout组件,选择类型为GRID,并设置Padding的属性,即content下面的item距离content上下左右的间距,同事设置每个item之间的上下间距(Spaceing X),左右间距(Spaceing Y):在这里插入图片描述

3.签到按钮添加监听事件

self.findBtn("btn_sign", uiRoot.bottom, () => {
     //签到处理
     }
 })

4.服务器端数据处理

服务器端使用一个Int32位的数存储传输当月签到情况
// 用位操作表示签到情况(d=月中第几天;第d天是否签到=(signDay & (1<<(d-1))) == 1)
int32 signDay = 4;

        //data.signDay服务器数据(int32)
        var str = data.signDay.toString(2).split('');//将int32转换位二进制数字符串,进而保存位数组
        cc.log("逆序日期数组", str);
        var dayArr = str.reverse().join('').split('');//将该数组逆序排列
        cc.log("正序日期数组", dayArr );
        //上面的操作是为了调试输出的日志,可注释
        
        for (let i = 0; i < this.monthDays; i++) {
            if ((data.signDay & (1 << i)) == 1) {
                //已签到
            } else {
                //未签到
            }
        }

4.结束语

      使用一个int32位的数代替传统的签到数组,既能提高传输速率,也能降低内存的消耗,第一次使用该方法来实现数据的传输与保存,特意记录下来分享给大家。

相关文章
|
存储 NoSQL 关系型数据库
这样子签到好像比较舒服
这样子签到好像比较舒服
73 0
|
7月前
Autojs4.1.0实战教程---快逗短视频自动签到
Autojs4.1.0实战教程---快逗短视频自动签到
61 0
|
小程序
微信小程序也可以实现定位打卡/签到打卡了(附源码)
本篇文章带你实现实时定位功能:包括实时定位监听、定位权限判断、经纬度间距计算、判断当前位置是否在目的地的范围区间。
3549 2
|
数据采集 Java fastjson
【掘金自动签到】有手就行的自动化签到工具
掘金社区签到拿矿石能兑换礼品,每天签到又怕遗忘,搞个脚本每天自动签到岂不美哉~
874 3
【掘金自动签到】有手就行的自动化签到工具
|
缓存 小程序 JavaScript
【小程序】爆肝 3 天总结的微信小程序优化指南(收藏夹吃灰吧!)🔥🔥(上)
前言 大家好,我是HoMeTown,最近要做一个小程序的项目,项目启动之前,回顾自己之前做过的小程序,感觉做的还是不够好,最近学习了一下小程序优化方案,这块总结一份个人笔记,以便参考,同时分享给大家,共勉。
355 0
|
缓存 小程序 JavaScript
【小程序】爆肝 3 天总结的微信小程序优化指南(收藏夹吃灰吧!)🔥🔥(下)
前言 大家好,我是HoMeTown,最近要做一个小程序的项目,项目启动之前,回顾自己之前做过的小程序,感觉做的还是不够好,最近学习了一下小程序优化方案,这块总结一份个人笔记,以便参考,同时分享给大家,共勉。
593 0
水果机抽奖(CocosCreator)
水果机抽奖(CocosCreator)
|
Android开发
autojs掘金自动签到
牙叔教程 简单易懂
719 0
|
C++
Qt-网易云音乐界面实现-3 音乐名片模块的实现
Qt-网易云音乐界面实现-3 音乐名片模块的实现
155 0
Qt-网易云音乐界面实现-3 音乐名片模块的实现
|
图形学
Unity 之 模拟王者荣耀七日签到系统
做一个模拟王者荣耀的签到系统,七日签到不可补签,下周自动重置。
435 0
Unity 之 模拟王者荣耀七日签到系统