美文网首页csharpUnity
游戏架构模式之MVC模式

游戏架构模式之MVC模式

作者: 半闲书屋半闲人 | 来源:发表于2016-07-28 20:35 被阅读865次

    一、MVC模式简介

    1、导言

            今天要介绍的是一种架构模式,首先要问什么是架构模式呢?我简单的说一下自己的理解,当你去设计一个程序时,首先要有一个思路,我要实现哪些功能呢,如何去实现,从哪里去入手,分为哪些模块去实现,这些都是我们提前要思考的问题点。那么这个时候我告诉你,已经有一种非常完善的编程方法,让你更快、更有效、更全面的去实现你想实现的功能,你是不是很兴奋。架构模式是一门专门的编程方法,属于编程的方法论,MVC架构模式是其中的一种。

    2、简介

          MVC是三个单词的首字母缩写,它们是Model(模型)、View(视图)和Controller(控制)。这个模式认为,程序不论简单或复杂,从结构上看,都可以分成三层。

    1)最上面的一层,是直接面向最终用户的"视图层"(View)。它是提供给用户的操作界面,是程序的外壳。

    2)最底下的一层,是核心的"数据层"(Model),也就是程序需要操作的数据或信息。

    3)中间的一层,就是"控制层"(Controller),它负责根据用户从"视图层"输入的指令,选取"数据层"中的数据,然后对其进行相应的操作,产生最终结果。

    用一张图片(选自百度百科)表示为:

    这三层是紧密联系在一起的,但又是互相独立的,每一层内部的变化不影响其他层。每一层都对外提供方法,供上面一层调用,而模型层和视图层之间、视图与控制之间也提供了委托(事件)来回调方法。这样一来,软件就可以实现模块化,修改外观或者变更数据都不用修改其他层,大大方便了维护和升级。

    二、用UI中常见的经验-等级-金币模型来解释MVC模式

    1、搭建经验-等级-金币模型UI界面

          星星上的数字-等级、经验条-经验、500宝石-宝石数,button按钮UP代表经验的变化。这里UI界面就简单化了,主要是体会这种架构模式是如何实现功能,以及它的优点。

    2、构建MVC模式中的View层

             从我们能看到的入手,View层是用户和程序交互的点,用户需求的输入-程序输出。

    分析:1)从UI上用户能获得4个信息,实时经验/每个等级对应的满级所需经验值(在一个经验条UI中)、等级值、宝石数;

              2)没时经验的变化,需要用户点击Up输入(模拟杀死怪物或英雄升级)。

    从这2点出发我们可以设计View层脚本:


    3、构建MVC模式中的Model层

          model层主要的功能是存储和读取数据,当数据改变是调用方法,达到更改我们UI界面上的数字的目的,给予用户反馈,

    其中我们将使用到委托,并且因为我们只有这一个UI对象,所以将该脚本定义为一个单例脚本。

    单例书写如下:

    属性定义如下:


    4、构建MVC模式中的Controller层

    控制层主要是对model层的数据进行处理,反馈出我们需要的值。

    代码贴出如下:

    三、效果图贴出来

    相关文章

      网友评论

      本文标题:游戏架构模式之MVC模式

      本文链接:https://www.haomeiwen.com/subject/ehpfjttx.html