游戏架构模式之MVC模式

一、MVC模式简介

1、导言

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

2、简介

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

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

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

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

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

游戏架构模式之MVC模式_第1张图片

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

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

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

游戏架构模式之MVC模式_第2张图片

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

2、构建MVC模式中的View层

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

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

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

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

游戏架构模式之MVC模式_第3张图片


游戏架构模式之MVC模式_第4张图片

3、构建MVC模式中的Model层

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

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

游戏架构模式之MVC模式_第5张图片

单例书写如下:

游戏架构模式之MVC模式_第6张图片

属性定义如下:

游戏架构模式之MVC模式_第7张图片



游戏架构模式之MVC模式_第8张图片

4、构建MVC模式中的Controller层

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

代码贴出如下:

游戏架构模式之MVC模式_第9张图片

三、效果图贴出来

你可能感兴趣的:(游戏架构模式之MVC模式)