开源 Cocos Creator 3.x 游戏框架 oops-framework

news/2024/12/22 2:21:35/

oops-framework

介绍

oops-framework 基于 Cocos Creato 3.x 开发的一款游戏框架

  1. 提供游戏常用功能库,提高开发效率
  2. 提供业务模块开发的模板,降低程序设计难度
  3. 框架内置模块低耦合,可自行删除不需要的模块

框架使用说明

框架里的技术内容是较多,每项技术作者都用到项目中测试过,所以单项技术的稳定性是相对有保证的。开发者拿到框架按自己当前需求了解需要的技术即可。

  1. 初次接触游戏开发者的阅读建议

    • 阅读 script/game/initialize 文件夹下的游戏初始化流程
    • 理解如何建立一个游戏模块
    • 理解游戏初始化流程做了哪些事
    • 理解资源加载界面是如何通过界面管理(oops.gui.open)的API启动预制界面
    • 理解后举一反三,通过预制拼好界面,尝试调用通过 Cocos Creator 节点组件开发模式制作界面,在通过 oops-framework 的API 管理界面的打开与关闭
    • 然后做一些 DEMO 小程序练习加深技术使用熟练度,在转入到第二阶段
  2. 有项目经验开发者的阅读建议

    • 阅读 script/game 中作者提供的一个 DEMO,这个 DEMO 作者表达的是基于 oops-framework 设计的业务框架
    • 理解供模块三层架构设计思路,辅助需求分析
    • 理解代码模板,辅助业务模块开发
    • 理解模块之间代码分离,保持业务思路清晰
    • 理解模块之间低耦合,减小需求修改时影响范围

技术分类

  1. 基础类
    • 界面管理 - LayerManager.ts
    • 资源管理 - ResLoader.ts
    • 时间管理 - TimerManager.ts
    • 音效管理 - AudioManager.ts
    • 消息管理 - MessageManager.ts
    • 屏幕适应 - GUI.ts.ts
    • 本地存储 - StorageManager.ts
  2. 界面类
    • 常用UI组件
      • 按钮类 - gui/button
      • 标签类 - gui/label
      • 语言类 - gui/language
    • MVVM组件库 - core/libs/model-view
    • 特效管理 - core/game/effect
  3. 网络类
    • Http - core/network/HttpRequest.ts
    • WebSocket - core/network/NetManager.ts
  4. 框架类
    • ECS - core/libs/ECS.ts
    • BehaviorTree 行为树 - core/libs/behavior-tree
    • 可视化动画状态机 - core/libs/animator
  5. 工具类
    • 异步队列 - AsyncQueue.ts
    • 日志管理 - Logger.ts
    • 随机数生成器 - RandomManager.ts
    • 加密工具 - core/libs/security
    • gzip压缩 - core/libs/pako.min
    • 辅助方法库 - core/utils
  6. 渲染纹理
    • 三维摄像机内容显示到模型上 - RtToModel
    • 三维模型显示到二维精灵上 - RtToSprite
  7. 热更新
    • 热更控制脚本 game/initialize/view/HotUpdate.ts
    • 本地热更配置 resources/project.manifes
    • 本地热更配置 resources/version.manifes
  8. Cocos Creator 3.5 版本新功能业务框架模板
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-X9Is58UQ-1651152923764)(./doc/imgs/module.png)]

第三方源码库

库名介绍原创链接
WebSocket原创者设计灵活,易扩展自定义协议原创者代码地址
animator可视化动画状态机,与Untiy3D的Animator使用体验类似,扩展3D骨骼动画支持原创者代码地址
model-viewMVVM组件库,原库为cc2.x版本,本人升级到cc3.x原创者代码地址
ECS FrameworkEntity-Component-System,原码升级优化过原创者代码地址
behavior-tree行为树

第三方 NPM 库

库名介绍安装原创链接
Nano ID生成唯一标识npm install --save nanoid原创者代码地址
seedrandom生成随机数npm install seedrandom原创者代码地址
kyFetch API 的小巧优雅的 HTTP 客户端npm install ky原创者代码地址

框架部分功能演示

框架实现的解决方案演示

游戏地图模块 oops-rpg-2d

新手引导模块 oops-guide

联机游戏框架 oops-mgobe

开源框架 oops-framework gitee

开源框架 oops-framework github

学习交流 QQ 群:798575969

注:

Cocos Creator 3.x 不同版本的框架,可在分支中下载


http://www.ppmy.cn/news/877581.html

相关文章

使用ColorUI组件

项目初始化请参照:使用ColorUI构建小程序项目_LookOutThe的博客-CSDN博客 目录 一、开发准备工作 1.在前端开发工具中打开下载好的demo目录 2.浏览器打开demo 3.微信开发工具打开上一篇构建好的项目 二、开始使用 1.找需要使用的组件 2.复制我们要使用的那段…

iOS中UIColor,CGColor,CIColor详解

最近看了看CoreGraphics的东西,看到关于CGColor的东西,于是就想着顺便看看UIColor,CIColor,弄清楚它们之间的区别和联系。下面我们分别看看它们三个的概念: 一、UIColor   UIColor是UIKit中存储颜色信息的一个重要的类,一个UIColor对象包含了颜色和透明度的值,它的颜色…

colorUI使用

colorUI使用 一、colorUI简介 官网地址—还在完善 colorUI特点: 组件精美,色彩十分鲜艳封装特特特特别的好,每一个样式都是单独的class选择器,都是封装极好的css小组件兼容性,扩展性极好。亲测在vant weep组件上可…

Firefly

Firefly(流萤): 中文对话式大语言模型在本文中,笔者将介绍关于Firefly(流萤)模型的工作,一个中文对话式大语言模型。https://mp.weixin.qq.com/s/TX7wj8IzD_EaMTvk0bjRtA一个支持中文的176B开源基础模型BLOOM:从数据源…

2023年11月软考中级软件评测师报名考试时间-入口-条件-流程

软考中级软件评测师报名时间: 海南2023下半年软考中级软件评测师报名时间:8月14日至8月21日 四川2023下半年软考中级软件评测师报名时间:8月14日至8月30日 黑龙江2023下半年软考中级软件评测师报名时间:8月16日至8月22日 广西…

Dapper使用自定义表类型的参数

Dapper1.26及以上版本可以使用自定义类型的表值参数,方便将DataTable类型直接作为一个参数传递到数据库服务器上。 首先在数据库中创建用户自定义,例如: CREATE TYPE [dbo].[IDValueStruct] AS TABLE([ID] [INT] NOT NULL,[Val] [DECIMAL](…

彻底解决机械硬盘经常卡顿2秒问题

笔记本电脑使用中每隔一段时间就会卡顿2秒左右,特别是在编写文档或者打游戏的时候非常明显,我注意到卡顿之前机器会有咔哒或者呲~~的声音,感觉跟硬盘有关系,似乎是硬盘休眠了或者是突然写入了很多东西导致的卡顿,顺着这…

人工智能-反向传播

前面阐述过,在设计好一个神经网络后,参数的数量可能会达到百万级别,利用梯度下降去更新参数计算复杂,算力不足,因此需要一种有效计算梯度的方法,这种方法就是辛顿提出的反向传播(简称BP&#xf…