• 关于客户端MVC模式的简单的思考


     先上一张图:

     

    object 类是整个客户端的基类,所有的unit的基类;数据层XXData ,主要作用是缓存数据,当收到服务端数据更新 同步或异步更新客户端数据

    EventDispatcher 事件消息类,主要作用是注册移除事件,事件广播

    Singleton 单列类 没有什么特别的功能,主要是注册和移除事件的实现

    TickMgr :tick 计时器,主要作用注册tick记时以及游戏中主update

    RPCMgr 主要作用 是收发RPC数据消息,以及消息队列排序处理

    xxRPC 具体到xx功能RPC 消息处理

    ===================================== UI框架方面===================================================================

    1.层级问题:分层存储,分栈存储,每个层对应自己的层级数值,同属于一个层的ui 后打开的弹出 先打开先入栈的隐藏;后打开的关闭,先打开的再弹出

    2.生命周期问题:1)常驻内存 ,2)关闭后固定时间销毁,3)直接销毁

    3.断线重连:数据重建,ui重建

    4.ui资源释放问题:比较好的设计是不需要每个人手写代码释放,比如加载出来挂载的一些节点,主界面关闭后,同时处理节点释放。

    关于跨场景ui 显示问题,可以通过ui入栈隐藏,再弹出或者再显示

    ui 方面暂时想到这么多,后续想到再补充。。写的比较简单,里面具体实现需要考虑的细节比较多。。。。

    客户端MVC设计一般没有太难的逻辑,这样想设计其实还是挺清晰的。。

    =========================================================ui模板方面========================================================================================

    其实很多时候,组件化 模板化 的确可以节省其他人开发成本,不过很多时候 策划脑洞大开 会有自己的一些想法,不一定会再次用到模板(实际项目开发过程中经常会出现,这需要程序和ui 去和策划商量)

    比较合适组件化 模板化的 地方,个人的想法 是功能单一,比如一个道具item,按钮,二次确认框,tab 组件,升级弹窗提示,技能和特效模板,目前能想到的这些

    ==================================================== 战斗方面==============================================================================================

    基本上所有的游戏的外围模块 基本上都是通用的,不同的地方就是战斗表现上,比如2D卡牌游戏和3D 游戏,即时战斗游戏 和 回合制游戏,都是一堆设定规则的逻辑,需要重点关注的 是 同步和校验,以及同屏人数带来的性能问题。也不知道该如何讲,具体游戏具体方法,目前这是能理解到的层次,可能还有其他的方面。

    ===================================================热更和patch=============================================================================================

    01:33 准备休息,下次继续写。。。

  • 相关阅读:
    JavaWeb 期末设计 测试部署
    JavaWeb 期末项目设计 业务逻辑与实现
    JavaEE期末设计-银行转账系统需求文档分析
    Lamda 表达式
    Spring AOP capabilities and goals
    LDAP & Implement
    RESTful levels & HATEOAS
    Servlet CDI
    spring 历史&哲学
    mysql backup & recovery
  • 原文地址:https://www.cnblogs.com/DOGame/p/14270157.html
Copyright © 2020-2023  润新知