麻将开发架构

2018-07-27  本文已影响24人  SpinachC

自己没有开发过一整套的游戏APP之类的。所以在看源码的时候云里雾里,还是要把看的东西全部写出来,然后按照自己的想法在去敲一遍代码。

App Start

  1. 初始化
    • 用户管理模块
    • 回放模块
    • http模块
    • net模块(socket)
    • game net模块
    • until模块
    • anysdk模块
    • audio模块
    • voice模块
  2. load本地的版本的文件,然后加载服务器的版本做对比,如果不一样就让用户更新,一样的话就进loading界面

LoadingLogic

  1. 用cc.loader.onProgress来计算load进度,使用update来提示用户load百分比
  2. cc.loader.loadResAll 加载完成之后, 跳转login界面

Login

  1. 如果没有初始化,也就是说直接进入的这个场景,需要跳转回loading界面
  2. 播放音乐
  3. 如果是ios的话,就显示微信登录button(这里直接实现的是游客登录)
  4. 用户管理模块 guest:把account, ip, 服务器自己写的一个密码制作一个md5作为sign传回客户端, 还有大厅的端口号
  5. 用户管理模块 login:读取用户信息, 查看用户是否在房间, 是的话查询房间信息是否存在,不存在就清除用户表里的房间信息,存在就返回
  6. 客户端判断用户信息是否存在,存在就直接去hall

Hall

  1. 初始化界面(用户信息, 通知(走马灯, 利用update来移动x坐标))
  2. 创建游戏
    • CreateRoom create_private_room: 获取用户信息,是否存在房间里
    • 没有存在就去create房间, 之后enter房间,判断房间是否在run(只是验证了是否sign了)
    • create socket,发送event login, 获取房间信息(每个位置的信息), 然后通知房间的其他人(把login用户的data发送出去),发送login_finish事件通知客户端跳入game界面
    • 客户端接收信息之后dispatchEvent(冒泡)
  3. 进入房间
    • enter_private_room
  4. 返回房间
    • 跳转game界面

MJ Game

。。。正在看

上一篇下一篇

猜你喜欢

热点阅读