我的编程空间,编程开发者的网络收藏夹
学习永远不晚

详解CocosCreator MVC架构

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

详解CocosCreator MVC架构

概述

这一篇将介绍在游戏客户端常用的架构MVC架构。一个游戏的MVC如下划分:

M:1)单例全局的数据中心World,所有游戏模块的数据在World中有入口,2)各个模块自己的数据结构。

V:1)通过creator预制体制作的UI界面、场景,2)各个界面显示逻辑的ViewCtrl

C:1)全局的MainCtrl,2)各个模块的业务逻辑类ModuleCtrl

具体模块

先介绍M部分。由于一个模块的数据,在其他模块也有访问的需求,例如好友模块,在聊天的时候也需要访问,在排行榜里需要访问。数据应该有一个单例全局的数据中心类World,所有游戏模块的数据类在World中有入口。这些数据可以在玩家登录后从服务器获取并设置。


export class World {
    private static instance: World = null;
 
    private _test: TestData = null;
 
    
    private constructor() {
 
    }
 
    
    public static get inst(): World {
        if (!World.instance) {
            World.instance = new World();
        }
 
        return World.instance;
    }
 
    // FOR TEST
    public set test(val: TestData) {
        this._test = val;
    }
 
    public get test(): TestData {
        return this._test;
    }
}

这样模块间可以独立设计自己的数据结构,通过发送消息请求对应模块的ModuleCtrl更改,通过World读取。


export class TestData {
    private _text: string = null;
 
    public constructor() {
 
    }
 
    public set text(val: string) {
        this._text = val;
    }
 
    public get text(): string {
        return this._text;
    }
}

数据的更新时可以派发消息,界面可以监听消息做刷新。

下面介绍界面和脚本代码的关联。前面篇章中介绍过,cocos creator是基于组件模式。我将每个ui界面都做成一个预制体,每个预制体都可以添加一个脚本组件,用于控制这个界面的显示逻辑。

在弹窗管理里提到我设计了一个继承cc.Component的类叫ViewCtrl,所有界面的显示逻辑类都继承ViewCtrl,并添加到对应的界面预制体。前面提到数据更新时会派发消息,ViewCtrl监听数据更新消息,刷新关联的界面。


const {ccclass, property} = cc._decorator;
 
@ccclass
export default class TestViewCtrl extends ViewCtrl {
}

ViewCtrl只处理界面的显示逻辑,不处理数据业务逻辑,模块的数据业务逻辑由该模块的ModuleCtrl处理。ViewCtrl响应用户操作,派发消息,ModuleCtrl监听消息处理。大部分模块的ModuleCtrl主要做网络通信,和对本模块缓存数据的修改。


export class TestCtrl {
 
    public constructor() {
 
    }
 
    public init(): void {}
 
    public start(): void {
        NotifyCenter.addListener(MSG_TEST_HTTP, (class="lazy" data-src: any, data: any) => {
            this.testHttp();
        }, this);
    }
 
    public testHttp(): void {
        let data = {
            mod: 1, // 模块
            cmd: 1, // 命令
        }
 
        let params: HttpReq = {
            path: "",
            method: HTTP_METHOD_GET
        }
 
        MainCtrl.inst.http.sendData(data, params, (data: NetData) => {
            World.inst.test = new TestData();
            World.inst.test.text = "123";
        }, (code: number, reason: string) => {});
    }
}

前面提到,C层还有一个全局单例的MainCtrl。该类主要负责模块注册、提供全局的操作接口(例如界面/场景的显隐)、网络通信处理。

以上就是详解CocosCreator MVC架构的详细内容,更多关于CocosCreator MVC架构的资料请关注编程网其它相关文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

详解CocosCreator MVC架构

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MVC三层架构

一、MVC和三层架构什么是MVC?(1)     MVC的全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,是一种软件设计模式。(2)     Model:即模型。也就是JavaBe
MVC三层架构
2017-08-12

PHP MVC架构中的控制器、模型和视图分工详解

PHP架构中的控制器、模型和视图分工详解,它们之间的关系以及如何使用它们来构建Web应用程序。
PHP MVC架构中的控制器、模型和视图分工详解
2024-02-05

深入解读MVC模式和三层架构

这篇文章主要介绍了深入解读MVC模式和三层架构,三层架构就是为了符合“高内聚,低耦合”思想,把各个功能模块划分为表示层(UI)、业务逻辑层(BLL)和数据访问层(DAL)的三层架构,各层之间采用接口相互访问,需要的朋友可以参考下
2023-05-18

golang怎么实现MVC架构

本篇内容介绍了“golang怎么实现MVC架构”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、前言随着互联网的发展,Web应用程序逐渐成为
2023-07-05

PHP MVC架构与其他架构的对比分析

PHP MVC架构是一种软件架构模式,它将应用程序分为三个部分:模型、视图和控制器。这种模式有助于提高应用程序的可维护性和可重用性。
PHP MVC架构与其他架构的对比分析
2024-02-05

MVC模式与三层架构

这篇文章主要让我们理解JSP及其原理,学会使用EL表达式和JSTL标签,理解MVC模式和三层架构的基础知识,有兴趣的同学可以阅读,借鉴参考一下
2023-03-21

剖析JavaScript MVC架构:深入了解MVC设计模式的精髓

JavaScript MVC架构是一种受欢迎的设计模式,它将应用程序的逻辑分为模型、视图和控制器三个部分,使应用程序更易于维护和扩展。
剖析JavaScript MVC架构:深入了解MVC设计模式的精髓
2024-02-12

Spring MVC详解

文章目录 一、SpringMVC1.1 引言1.2 MVC架构1.2.1 概念1.2.2 好处 二、开发流程2.1 导入依赖2.2 配置核心(前端)控制器2.3 后端控制器2.4 配置文件2.5 访问 三、
2023-08-30

PHP MVC 架构的本质:理解框架背后的思想

PHP MVC 架构的本质:剖析框架背后的思想
PHP MVC 架构的本质:理解框架背后的思想
2024-03-02

Facebook移动架构:Android Flux架构详解

要为Android应用找到一个好的架构不是一件容易的事情。谷歌似乎不太在乎这个事情,因此在设计模式上,除了Activity 生命周期管理之外,再也没有官方的推荐。但是,为你的应用打造一个架构是非常重要的。不管你是否喜欢,任何应用终都会有一个
2022-06-06

c#中winform mvc架构怎么用

在C#中使用WinForms和MVC架构,可以按照以下步骤进行操作:1. 创建一个WinForms项目。2. 添加一个控制器类(Controller),该类负责处理用户事件、调用模型和更新视图。3. 添加一个模型类(Model),该类负责数
2023-10-09

从 MVC 到 DDD 的架构演进

本文从 MVC 架构开始讲述了如何从演进到 DDD 架构,限于篇幅很多 DDD 的知识点没有讲到,希望大家在实践过程中能灵活运用,尽享 DDD 给业务带来的价值。
架构DDDMVC2024-12-13

编程热搜

目录