先提前说明,此架构是幼麟棋牌框架的作者@麒麟子大神教给笔者的,麒麟子大佬给了一套基于FGUI+Laya Air写的棋牌大厅界面子工程学习,奎斯花了一段时间从代码中学习并初步总结了出了分层游戏架构的基本模式,因为只是初步学习,还有一些其他模块奎斯暂时没有加(比如网络模块),下面奎斯分享出这套游戏架构(这里只介绍理论总结,不贴具体代码)。

一、分层架构基本模式:

先UI分层架构图:

在分层架构中,我们将UI拆分为game、hub、popup、notice、alert、mask六大层次:

GAME:主要用于放置玩家可见的游戏场景,比如游戏预加载场景、大厅场景等等

HUB:一般就是漂浮在场景之上的按钮 玩家信息栏之类的

POPUP:游戏弹出层 比如游戏结束界面等

NOTICE:一般就是锁屏提示 比如网络重连时候 提示 正在链接服务器。 或者加载界面的时候 提示一个loading

ALERT:是属于一种特殊的弹出层,弹出确认提示框之类的

MASK:遮罩一般与弹出层配合sh,比如出现一个提示框的时候,除了提示框部分其他部分就要变暗,有一种淡入淡出的效果。

而上面每一层层次在zOrder上都是逐渐由低到高,一般我们会把每层用枚举类型标识。

二、分层管理模式:

在分层架构中,采用一种Master-Scene-UI的管理方式。除了类似Alert这种比较通用的都放入Basic包体,一般我们会把每一个UI(包括GAME层)在FGUI中都做成一个单独的包体

每个UI都会有一个Master组件、一个Scene组件、一个Page组件:

这三种组件都继承自一个公共的父类master、scene、page,并分别由master_manager、scene_manager、ui_manager来管理,而这三类组件的关系是:

1.master_manager负责管理scene_manager

2.scene_manager管理ui_manager

3.ui_manager管理每层分层的具体显示与删除

所有配置信息写入单独的类中在初始化时统一传入master_manager管理器,这里奎斯直接贴出大厅子工程中的全局图:

在UI显示出来后,具体的游戏业务逻辑我们都写在每个UI的page组件中。

三、实例简单演示:

奎斯在初步学习完之后,将分层架构用一个简单的五子棋小游戏实现了遍,这里简单演示下:

1.可以看到我们将包体分别各种UI(包括游戏场景和悬浮于场景上的)和公共组件两部分,下面显示是大厅场景和游戏场景的UI部分,我们通常会挂在GAME层。

2.Alert上面说过是一种特殊的弹出层,他与POPUP层不同在他是一种可以复用的提示框很多地方多次用到,而POPUP层是每一种UI都完全不同。

3.游戏结束奎斯是做成了一个单独的提示框UI放到POPUP层,在调用完Alert的UI后再调用结束UI,并在调用的时候使用遮罩,内容在代码部分再改变,比如"游戏结束,xx胜利了!"

读者可以根据这种基本分层再按需求划分UI,这是奎斯目前的分层架构的初步总结。

欢迎阅览奎斯文章。

这个是我用stage分层框架写的极简联机五子棋全栈小游戏,欢迎大家试玩:

FGUI+Laya Air 游戏架构之stage分层架构相关推荐

  1. 架构模式之分层架构总结

    背景 一个问题,我们要把它搞清楚.需要深入的思考,从演进出发,从核心出发,探索它的本质.这样才能在工作中举一反三.探索本质的思想,对于架构者来说尤其重要.本文想探讨架构模式之分层设计的本质和核心.以便 ...

  2. Laya Air游戏开发模式之MVC模式(核心篇)

    上次结尾有说到Laya引擎在3D方面是借助Unity3d引擎的编辑器做好通过插件导出数据来做这没什么可挑剔(Unity引擎牛逼),但在2d编辑器(自身的)方面却存在很多bug(作者深有体会),所以这篇 ...

  3. Laya Air游戏开发模式之传统MVC模式(基础篇)

    没错这次要介绍的开发模式就是开发界中的万油精

  4. autosar中bsw架构组成_AUTOSAR分层架构深度解析

    AUTOSAR的分层式架构设计,用于支持完整的软件和硬件模块的独立性(Independence),中间RTE(Runtime Environment)作为虚拟功能总线VFB(Virtual Funct ...

  5. 【架构】软件分层架构视角图

    注:仅供参考学习,欢迎交流

  6. 这 3 种 DDD 分层架构的模式,你掌握了么?

    -     前言    - 在讨论DDD分层架构的模式之前,我们先一起回顾一下DDD和分层架构的相关知识. -     DDD 的基本概念     - DDD(Domain DrivenDesign, ...

  7. 还在搞三层架构?了解下 DDD 分层架构的三种模式吧 !

    来源:jianshu.com/p/a775836c7e25 引言 在讨论DDD分层架构的模式之前,我们先一起回顾一下DDD和分层架构的相关知识. DDD DDD(Domain DrivenDesign ...

  8. 还在搞三层架构?了解下 DDD 分层架构的三种模式吧

    引言 在讨论DDD分层架构的模式之前,我们先一起回顾一下DDD和分层架构的相关知识. DDD DDD(Domain Driven Design,领域驱动设计)作为一种软件开发方法,它可以帮助我们设计高 ...

  9. ddd架构 无法重构_漫谈分层架构:为什么要进行架构分层?

    为什么要分层 高内聚:分层的设计可以简化系统设计,让不同的层专注做某一模块的事 低耦合:层与层之间通过接口或API来交互,依赖方不用知道被依赖方的细节 复用:分层之后可以做到很高的复用 扩展性:分层架 ...

最新文章

  1. 杭电 2111 Saving HDU (贪心)
  2. 链表中是否存在环的问题,及环入口在链表中位置(Linked List Cycle II)
  3. BZOJ 3038 上帝造题的七分钟2
  4. 使用Hash函数和MAC产生伪随机数
  5. 团“模子”政策模式乱舞
  6. 7c盘满了怎么扩容_C盘爆满怎么办?扩容!
  7. c语言 t跳几个字节,int占几个字节(c语言)
  8. 系统优化设计方案(转)
  9. 统计学的计算机实现的心得体会,浅谈我对统计学的认识
  10. 华为防火墙IPSec详解与配置实验
  11. 【生活】换手机号需要更改哪些绑定
  12. numpy.pad对图片进行填充
  13. win10 租约到期不可连网
  14. 客户沟通的方式:礼貌待客沟通方式,技巧推广沟通方式,个性服务沟通方式
  15. IEC101召唤过程
  16. 19个必须知道的转录组知识点
  17. 全国统筹明年启动,养老金发放将迎来哪些变化?
  18. PHP中文转拼音及提取首字母
  19. 嵌入式新闻早班车-第16期
  20. 将MacBook作为无线路由器

热门文章

  1. IBM大中华区云计算总经理张永健:私有云产品受欢迎
  2. 从静态检查工具谈代码编程规范
  3. 如何在鸿蒙系统中移植 Paho-MQTT 实现MQTT协议
  4. CPU性能参数:MIPS,频率,IPC,CPI,时钟周期,机器周期,指令周期,主频
  5. ES6-用Proxy和Reflect操作对象
  6. 计算机无法打开优盘,电脑插入u盘后打不开如何修复
  7. 百度之星资格赛 1003 度度熊与邪恶大魔王 DP 完全背包
  8. python//网络嗅探器
  9. 苹果7 无线流量连接不上网络连接服务器,iPhone7连不上wifi无线网的四种解决方法...
  10. 点云配准NDT+ICP