前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一套全能免费的Creator游戏开发框架!——Oops Framework(推荐收藏)

一套全能免费的Creator游戏开发框架!——Oops Framework(推荐收藏)

作者头像
张晓衡
发布2023-02-23 13:52:52
4K0
发布2023-02-23 13:52:52
举报

作者:gdflas 编辑:张晓衡

来源:https://forum.cocos.org/t/topic/138660 本文已经获得作者 gdflash 授权发布,在此感谢作者辛勤创作与热情分享。

Oops Framework 开源至今已有一年多的时间,有不少同学加入到框架的交流QQ群中,在尝试学习与使用这套框架开发游戏。

我在这段时间,接触到一些初次尝试用 Cocos Creator 开发游戏的同学,在看到框架代码后,发现框架内容较多,但不知道从哪个点入手开始学习。 为此我录制有一套视频近 40分钟的视频教程,希望能帮助到你。

B站视频:https://www.bilibili.com/video/BV1WV4y1G7Gb/

Oops Framework 在后续的维护中,我会进一步把大多模块设计成为可选方式,设计思路与 Cocos Creator 中的 模块剔除功能 相同。

框架提供的一些技术点,与游戏业务非强依赖的,可在理解后选用,这样可以更平滑的学习,每个项目熟悉一部分技术。

为了方便大家使用框架制作游戏,我又设计了一套游戏项目模板,直接下载后就可以在项目中二次开发自定义的游戏业务,省去手动剔除教程项目中的例子代码。

下面是Oops Framework 的详细介绍,希望对你有所帮助!

Oops Framework 介绍

Oops Framework是基于 Cocos Creato 3.x 游戏引擎以 TypeScript 语言设计的一套游戏框。

框架针对游戏开发常用技术进行了封装,使游戏开发更加简单,提高开发效率。让开发者把更多精力放在游戏内容与游戏体验上,从而提高游戏品质。

最新版本的框架是以插件方式提供,这样设计的目的是为了后续升级只需要对插件目录执行 git pull 就可以更新到最新版本。

框架模块之间业务耦合较低:

  • core 文件夹下内容为框架核心代码,为游戏开发必备技术;
  • libs 文件夹为可选技术,可根据项目情况自定义剔除不需要的内容;
  • module 文件夹为游戏通用模块,可以理解为 core 或 libs 里技术的具体应用。

插件版框架源码目录结构与模块说明:

代码语言:javascript
复制
core               - 框加核心技术库
    common             - 游戏公共模块
        audio              - 音频模块
        event              - 全局事件
        loader             - 加载模块
        log                - 日志模块
        manager            - 时间管理、随机管理
        storage            - 本地存储
    game               - 游戏世界类
    gui                - 游戏界面类
        layer              - 多层界面、窗口管理
        prompt             - 公共提示窗口
    utils              - 游戏各类工具库
    Oops.ts            - 框架功能访问接口
    Root.ts            - 框架视图层根节点管理组件
libs               - 框架中可选技术库
    animator           - 动画状态机
    animator-effect    - 动画特效组件
    animator-move      - 动画移动组件
    behavior-tree      - 行为树框架
    camera             - 三维摄像机控制组件
    collection         - 数据集合处理
    ecs                - ECS框架
    gui                - 界面组件
        badge              - 红点提示组件
        button             - 按钮组件
        label              - 标签组件
        language           - 多语言组件
    model-view         - MVVM框架
    network            - 网络模块
    render-texture     - 渲染纹理组件
    security           - 安全组件
module             - 游戏通用模块
    common             - 公共模块
    config             - 配置模块

创建游戏模板项目

  1. 下载模板项目 https://gitee.com/dgflash/oops-game-kit
代码语言:javascript
复制
git clone https://gitee.com/dgflash/oops-game-kit.git

注:模板项目基于Cocos Creator 3.6开发,请下载最新版本编辑器后打开项目。后续正式版出来可直接在 Cocos Dashboard 中下载。

  1. 下载Oops Framework: https://store.cocos.com/app/detail/3558

第一次安装框架插件

windows

代码语言:javascript
复制
md extensions
cd extensions
git clone -b master https://gitee.com/dgflash/oops-plugin-framework.git
git pull

mac

代码语言:javascript
复制
mkdir -p extensions
cd extensions
git clone -b master https://gitee.com/dgflash/oops-plugin-framework.git
git pull

模板项目目录结构

代码语言:javascript
复制
res                         - 预制引用的静态资源
resources                   - 动态加载引用的资源
    audio                       - 音乐资源
    common                      - 公共资源
    config                      - 配置资源
        game                        - 游戏自定义内容配置数据表
        config.json                 - 框架默认配置资源(可扩展内容)
    content                     - 自定义动态加载内容资源
    game                        - 核心玩法内容资源
    gui                         - 界面资源
        loading                     - 游戏初次加载界面
    language                    - 多语言资源
script                      - 游戏脚本
    game                        - 游戏业务模块
        common                      - 游戏公共模块
            config                      - 游戏配置
                GameEvent.ts                - 全局事件配置
                GameUIConfig.ts             - 界面窗口配置(提供oops.gui模块使用的配置数据)
            table                       - 游戏配置表对象(可通过oops-plugin-excel-to-json自动生成)
        initialize                  - 游戏初始化模块
        SingletonModuleComp.ts      - 游戏单例业务模块
    Main.ts                     - 游戏入口脚本

根据上面的目录结构,在开发游戏时,可将资源存放到对应的文件夹中管理。这套模板项目自带以下游戏必备功能。

  • 屏幕自适应
  • 游戏本地配置数据获取
  • 游戏地址查询参数获取
  • 游戏初始化业务流程
    • 初始可自定义资源加载提示界面
  • 加载与现实第一个游戏自定义界面

屏幕自适应

Cocos Creator 菜单->项目->项目设置

横屏自适应

竖屏自适应

设置好后,其它的交给框架自动处理即可。

游戏初始化模块

initialize/bll/InitRes.ts这个脚本管理游戏启动时加载的必备资源,此处要注意的是,这里配置的资源尽量小一些,避免无提示加载阶段黑屏时间过长,导致游戏体验下降。

  • 加载公共资源
  • 加载多语言包(可选)
  • 加载自定义资源(可选)

initialize/view/LoadingViewComp.ts这个脚本是游戏内容资源加载界面的控制脚本,游戏内容资源一般较大,会有加载进度条提示来提高游戏体验。所有资源加载完后,会通过执行以下脚本来显示游戏第一个自定义界面。

代码语言:javascript
复制
oops.gui.open(UIID.Demo);

下一步就可以开发自定义游戏逻辑了,模块代码风格可以参考Oops Framework中的角色模块实现方式。


往期精彩

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-12-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Creator星球游戏开发社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Oops Framework 介绍
  • 创建游戏模板项目
  • 第一次安装框架插件
    • windows
      • mac
        • 模板项目目录结构
          • 屏幕自适应
            • 横屏自适应
              • 竖屏自适应
              • 游戏初始化模块
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档