首页 > 其他分享 >cocos creator中的MVC设计模式

cocos creator中的MVC设计模式

时间:2023-11-27 09:45:11浏览次数:38  
标签:cocos ctrl 视图 MVC Model 设计模式 我们 view

MVC 模式非常得火,今天小编就来说说Unity 或 cocos creator 这类可视化+组件化开发的工具怎么来做MVC。

MVC中的M指的是Model, V指的是视图, C指的是控制, 接下来我们通过view, Ctrl, Model 依次来说明我们基于unity / cocos creator这类工具的MVC的开发框架中通常是怎么处理的。

view:

unity/cocos creator这类工具,都是可视化编辑,编辑完后就有了一个"视图", 普通开发的时候,我们会往节点上挂脚本,往按钮上绑定事件,这样做最大的不好,是让美术修改视图的时候还要关心程序的组件,万一不小心删除了… …, 所以我们一般在挂脚本绑定事件的时候,尽量都在代码里面来完成,

这些完成的过程,实际就是控制视图, 属于ctrl的内容,视图要保持足够的简单,不要绑脚本或代码;

Ctrl:

在ctrl里面终归是要访问视图的,我们在ctrl里面怎么方便的访问视图呢?一般我们会编写一个代码(或自动生成), 这个代码作为ctrl的基类,在ctrl里面我们要非常方便的能访问到视图view里面的各个节点,才能方便的对里面的数据进行绑定, 我们这边的处理方式,会建立一个view 的字典, 字典是view上个节点的名字路径与view 节点对象对应,而这个功能,我们会在ctrl的基类里面来把节点加载到字典里面,然后所有的ctrl 都继承自这个基类,这样,在ctrl里面就可以通过 this.view[路径]能非常方便的访问我们的view上的节点,和非常方便的来控制他们挂事件和脚本, 如下图:

Cocos:

unity:

Model:

Ctrl 除了控制视图外,还要调用Model,Model, 我们通常会包括了常用的处理逻辑和数据, 例如策划的配置文件,武器的配置文件等等。 我们会提供对应的工具和框架方便和策划来沟通,来做我们的游戏数据,这个时候通常我们用到的是excel表格,excel表格给策划来填写,如图:

然后我们会自动生成代码,程序自动的读取excel表格转换到的数据到我们的Model里面,这样我们就有了数据,方便我们的Ctrl使用。

这样,Model,view, ctrl 就能很好的协助, model提供数据和方法,view 显示,ctrl 控制他们, 这样方便了策划和程序,美术和程序之间的沟通和交流。以上方案供参考。

更多架构师的经验。。。。 未完待续!

标签:cocos,ctrl,视图,MVC,Model,设计模式,我们,view
From: https://www.cnblogs.com/bycw/p/17858516.html

相关文章

  • 设计模式实验
    软件设计                 石家庄铁道大学信息学院 实验21:观察者模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解观察者模式的动机,掌握该模式的结构;2、能够利用观察者模式解决实际问题。    [实验任务一]:股票提醒......
  • Java设计模式之命令模式
    命令模式介绍命令模式是一种行为类设计模式,核心是将每种请求或操作封装为一个独立的对象,从而可以集中管理这些请求或操作,比如将请求队列化依次执行、或者对操作进行记录和撤销。命令模式通过将请求的发送者(客户端)和接收者(执行请求的对象)解耦,提供了更大的灵活性和可维护性。下......
  • 【ASP.NET Core】MVC过滤器:运行流程
    MVC的过滤器(Filters)也翻译为“筛选器”。但是老周更喜欢翻译为“过滤器”,意思上更好理解。既然都叫过滤器了,就是在MVC的操作方法调用前后进行特殊处理的类型。比如:a、此调用是否已授权?b、在模型绑定之前要不要修改数据源?(可能含有儿童不宜的数据)c、在调用MVC方法前要不要改一......
  • Spring MVC学习随笔-第一个Spring MVC程序(父子项目结构、Tomcat配置、ViewResolver)
    学习视频:孙哥说SpringMVC:结合Thymeleaf,重塑你的MVC世界!|前所未有的Web开发探索之旅第二章、第一个SpringMVC程序的开发2.1开发版本JDK1.8+Maven3.6+IDEA2021+SpringFramework5.1.4Tomcat8.5.29MySQL5.7.18按照父子项目的结构,管理和创建项目,创建一个空Project作为父项......
  • MTV和MVC
    MTV的流程Django的MTV(Model-Template-View)架构定义了Web应用程序的三个核心组件:模型(Model)、模板(Template)和视图(View)。下面是Django应用程序中这三个组件如何协同工作的流程:请求处理:当用户在浏览器中发起一个请求(例如,访问一个页面),请求首先被Django的web服务器接收......
  • 15、SpringMVC之常用组件及执行流程
    15.1、常用组件15.1.1、DispatcherServletDispatcherServlet是前端控制器,由框架提供,不需要工程师开发;作用:统一处理请求和响应,整个流程控制的中心,由它调用其它组件处理用户的请求。15.1.2、HandlerMappingHandlerMapping是处理器映射器,由框架提供,不需要工程师开发;......
  • 设计模式相关复习短篇
    1--设计模式基本概念设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结,使用设计模式是为了可重用代码,让代码更容易被他人理解、提高代码的可靠性。2--设计模式基本要素模式名称,问题,解决方案,效果模式别名,模式的分类,模式的适用性,模式角色,模式实例,模......
  • 设计模式之原型模式
    原型模式指的是,从对象copy一个对象到另一个对象浅拷贝:类对象copy的时候使用的是地址,基础类型会进行数据拷贝深拷贝:基础数据类型以及类对象都会进行数据copyspring创建对象的时候,可以选择单例,也可以选择原型模式原始的copy方式:需要拷贝的类@Getter@Setter@NoArgsConstru......
  • 创建型设计模式05-抽象工厂模式
    1、抽象工厂模式介绍抽象工厂模式(AbstractFactoryPattern)是一种创建型设计模式,围绕一个超级工厂创建其他工厂,也称作为工厂的工厂(大工厂里的小工厂)。在抽象工厂模式中,接口负责创建一组相关对象的工厂,而不需要显式指定它们的类。这种设计模式能够将客户端与具体的实现分离,从而使得......
  • 设计模式实验19:中介者模式
    实验19:中介者模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解中介者模式的动机,掌握该模式的结构;2、能够利用中介者模式解决实际问题。    [实验任务一]:虚拟聊天室在“虚拟聊天室”实例中增加一个新的具体聊天室类和一个新的具体会员类,要......