通用大厅框架,特别适合新人学习避免踩坑😊

演示地址:https://www.t9ai.com/ccc/commonlobby/
商店地址:https://store.cocos.com/app/detail/5719

CommonLobby3x

通用大厅框架

creator3.8.1 ts版本

10年+游戏经验

特色

1.采用mvc架构新手简单易懂

2.无需单独import引用脚本全部统一管理

3.全bundle管理公共资源及子游戏资源

4.面板管理,打开自动暂停恢复下级面板

5.全代码驱动创建面板内容,方便维护管理

6.2D与3D内容同时渲染

7.开发相关知识示例代码

8.注释齐全,一看就懂


文件夹目录说明

_AddContent

为大厅子游戏的示例demo源码,可以单独跑

_HotUpdate

参考基于官方的AssetsManager热更脚本

_Native

为IOS内付费、商店评价、截屏分享、截屏保存原生代码,拷贝到项目目录native/engine/common即可每次发布编译时自动发布

_PublishRes

为将项目所有文件手动打包到同一脚本管理示例

_Server

为简易服务端http即websocket示例


项目目录说明


_EnterScene

默认启动场景文件夹

Acti

需要下载后的活动文件夹

ExtraScript

其他扩展脚本(暂未用到)

internal

内置文件夹

MiniSubitem

大厅子游戏icon独立下载文件夹

resources

目前只存了版本对比文件,用bundle后不再使用默认都在Sys中

Subitems

即大厅子游戏独立下载目录,里面用Subitem_1001~1xxx命名来表示子游戏

Sys

即System即包内资源,需打到原始包的内容


所有资源与脚本分离即Res与Src文件夹分别表示资源与脚本,Res再根据功能区分文件夹,功能文件夹内再区分为Font、Images、Prefab、Spine等具体分类文件夹


框架设计:MVC结构,model 、view、control分离


Ctr包含如下功能:

LogCtr

全局Log控制

PanelCtr 全局面板控制器

游戏大层级 bottom middle top mask四层(可后期延伸扩展)、全局panelOn、panelOff关闭 、面板暂停动画、恢复动画、异步加载、异步中同步加载资源 、自动绑定脚本等

ResCtr 资源控制器

动态加载资源,同步异步

SceneCtr 场景控制器

场景获取、创建、切换

Tool 工具类

常用功能汇总,如深复制、遍历、随机数等

ScreenCtr 屏幕控制器

横竖屏切换,演示地址有演示

BundleCtr

控制资源属于哪个bundle,load bundle资源

SpineCtr spine控制器

如:初始化创建,播放spine动画回调等

PrefabCtr prefab控制器

如:初始化创建,播放prefab动画回调等

ObjectPoolCtr 对象池控制器

演示项目有动态加载spine或prefab的缓存池对象

StoreReviewCtr 商店评价控制器

ios原生平台商店评价

PlatformCtr 原生平台控制器

获取平台名字类型

NativeCtr 原生控制器

反射调用底层代码,事件监听

ShareCtr 分享控制器

原生分享ios

PayCtr 支付控制器

演示项目中充值,单次充值,订阅充值,充值恢复

RemoteCtr 远程加载控制器

远程加载图片 spine等

TimeCtr 时间控制器

如:年月日不同规格的显示

EventCtr 事件控制器

事件管理注册销毁监听

AudioCtr 音频控制器

音频管理,背景音乐,音效播放,一键清理

HotupdateCtr 热更控制器

用的cocos自带的assetmanger二次封装,一键检测,一键更新

NetworkCtr 网络控制器

http websocket(演示项目已调通https)

TipBoxCtr 弹框控制器

常见类型提示框方便游戏开发

UICtr UI控制器

层级管理架构10年项目+用下来没问题

SceneCtr 场景控制器

场景跳转,大厅到子游戏,子游戏到大厅

PanelCtr 面板控制器

面板层级顺序,依次打开面板,配置打开面板暂停下面的面板,关闭时自动恢复暂停控制器(演示项目中有示例)

ResCtr 资源控制器

异步加载,同步加载

Tool常用方法集合

如:深复制,文件后缀


Model类设计:

GD_Event

事件枚举

GD_URLConfig

游戏url地址配置

GD_PanelOrder

面板层级配置

GD_Config

游戏配置

GD_Resources:

所有资源的路径

GD_3DPanelOrder

3D面板层级


使用教程

  • 1.用cocoscreator3.8打开项目即可运行,目前支持模拟器、网页、原生平台主流平台
  • 2.大厅框架展示部分在/assets/Sys/Src/View/Debug/DebugFramework.ts 里面有所有框架内容功能的展示,可在演示项目中查看
  • 3.子游戏里包含一些免费开源的游戏作为测试

大厅展示

框架内容展示

子游戏内容

普通2d子弹摇杆追踪

3d+2d 闪电效果

横竖屏切换,竖版游戏

图片裁切示例

大厅5

子项目开源地址在:gitee.com/yeshao2069/CocosCreatorDemos
大厅框架中综合了几个有代表性的实例,如shader、子弹追踪、裁剪图片、横版切竖版,这里针对大厅做了些许适配修改。

个人感觉稍微有些基础的新人学习比买大几千的视频教程性价比高。踩坑1年解决问题无数,欢迎来喷 :rofl:

30赞

:partying_face: :partying_face: :partying_face: :partying_face:

推荐下自己的作品

logo

MKFramework(Beta)/ 开源

  • 支持纯代码开发,封装什么架构都行

  • 将 MVVM 的思想封装为工具

  • Bundle 热更 (大厅子游戏必备)

  • 新手引导框架(已在商业项目运行)

  • 资源管理器,强制管理解决资源释放问题

  • 更多请自行查看…

11赞

就冲这图标,怎么都要点击进去看一下

哈哈,AI设计的

开源,大佬的操作

大佬打个折呗 :grinning:

大概看了下,有点头晕,哈哈,感觉写的偏复杂了点

我的原则就是写最少的代码,实现最多的功能

如果你多看几个框架就知道大部分API很多,但里面实现的功能确很少

而且我一般倾向于 API 精简易记,比如加载资源,远程资源/编辑器资源/本地资源 全部都通过一个 get 接口就可以拿到

所以代码分散接口多,还是接口少功能多,我选择了后者,因为用户很少接触源码,只需要调用接口就行了,而少量的接口实现最多的功能是最好的

另外代码注释齐全 (中文)

1赞

插眼 等有空了来学习(白嫖)

原生包没发 不给测试

小游戏也可以用这个吗?

image
微信小游戏大概试了下功能基本都正常,这是我最近改的竖版,可能适配需要不同小游戏平台改下,别的应该没有什么大问题。

1赞

v1.2更新内容 2024-2-2

1.增加大量头部注释,删除没用的注释没用的引用保持代码整洁

2.音效ID独立控制某个音效状态

3.增加竖版大厅演示

4.增加免费游戏资源

5.兼容3.8.2

6.微信小游戏平台测试功能基本正常

v1.3更新内容 2024-3-1

1.控制器注释完善

2.框架调用改为通过window.GF来获取,原GF仍可使用

3.添加编写代码时的注释及自动跳转,代码智能提示

4.部分控制器命名修改,更容易理解

5.删除静态调用,改用slt统一简单调用

1赞

:+1:t2:不用我再单独查动态加载怎么写了,直接复制粘贴 :2: 并且关键不用引用一坨脚本了,直接点出来确实很方便

学不完,根本学不完 :joy:

框架是mvvm的么

不局限于设计模式,对于模块,框架只提供View生命周期管理,对于View的打开关闭都是单独的接口。

所以你可以使用单脚本开发,或者自己封装为MVC,MVVM都可以,框架也为数据监听提供了组件和脚本。

总之自由度很高,你可以使用纯代码开发,也可以使用组件式开发,或者自己定义任何代码架构