游戏开发,视乎没有那么的困难,服务器是java写的,基本功能都是写好的。
写一下客户端的思想和逻辑,做一个总结。
1.对于数据的分析,服务器的给出的接口是三个
1.请求活动全部副本的进度
2. 是进入副本
3.是对战斗的验证。
所以,我们就有思绪写这个副本的大改逻辑了。
首先,服务端返回副本的进度,但是一开始全部是空,代表的意思是,客户端需要自己去配置表里面拿去数据,然后进行传输。所以我们要做一个空值判断,空的,我们就默认,第一个章节的第一关。
然后,就是对于章节的每个小关卡的进度的显示,通过章节的id,我们可以查找到对应的含有的关卡。
最后,发送数据,进入挑战,然后重新刷新数据。
总体来说就这么三部。
那么就先说说对于服务端返回的数据处理,如何规范的问题,一开始,我都是直接写any,这样舒服有便捷,后面通过大佬指点后,发现也不是这样,如果后面人家接手你的代码,那么又要重新全部看一遍,非常的麻烦与复杂。
由于服务器返回的数据是一个通用的,副本数据,所以我们在做数据的接收的时候要注意的是,如何进行分类,如何让数据更加的明确,这样,以便于以后的维护,如果数据的格式发生变化,那么我们可以很快的进行调整。
碧如数据格式是这样,data里面包含了每个副本的数据,每个副本包含了每个章节的数据
所以对于这种数据,我们要分层的去解析这种
第一层: public wpgs: { [key: string]: BlockMap } = {};
第二层:
mpgs: { [key: string]: BlockPoint };
// 奖励的领取情况
rsid: number[];
第三层:就是对关卡的数据真正的解析
所以通过这一的三层代码下来,我们就可以动态的去活动对应的字段信息,也可以非常明确的知道各个数据格式的数据样子。
看了看代码感觉就是一个流水代码,好像也没有什么好总结的,唯一值得注意的点是,
如何在传输的参数的过程中,将数据变得更加有用,或者更加实用于当前的代码