• MVC架构在游戏开发中的应用


    一 定义

    MVC即Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写。
    MVC是一种“前端”的设计模式。


    MVC的目的是:希望View和Model分离,当某一方改变时。而还有一个方不必随之改变的。
    比如,Java EE平台,iOS都是典型的基于MVC思想思想的,那么我们怎么在游戏设计中使用MVC模式呢。


    二 MVC架构具体解释

    1 模型Model

    一直推荐一种思想:“全部的开发都是以数据位中心”。在MVC中,Model就是我们的数据中心。


    Model的主要工作是保存数据,处理数据组织的相关逻辑。


    以游戏中的好友系统为例:FriendModel须要保存从server请求过来的数据,然后须要提供接口,如返回排序后的结果。


    数据另一个特点就是“唯一性,可重用”,尽管在各个界面的显示各有不同,但这份数据时唯一的。


    比如,FriendModel在好友系统中表现为好友的各种信息详情,而在好友PK系统中又以战力的显示为主。
    但这对于FriendModel这份数据来说。它是唯一的,仅仅是以不同的逻辑组织。提供不同的接口而已。


    2 视图View

    View负责与用户的交互,交互又分为两种:输入和输出。


    2.1 输入

    输入就是收集玩家的操作,比如玩家点击了一个button,或者输入了某些文字。
    比如。当玩家点击了一个好友的头像,或者点击了删除好友。


    就须要对这些输入进行响应,对数据做出对应的处理。

    2.2 输入

    输出就是将游戏中各种数据。展示出来(包含视图展示,特效,声音等),让玩家可以看清楚,看明确。
    比如,上述中的FriendModel中保存的数据,输出就负责将其显示出来。
    让玩家看到这个好友的性别是男或者女。而不是1或者0,或是其他什么的。


    3 控制器Control

    Control就是一个控制中心,关联着Model和View,假设没有了Control,Model和View就是两个全然分离的模块。
    当Model改变时。Control就会将这样的改变更新到View上面显示出来。
    当View接受到玩家的交互时。会对数据做出对应的处理。


    比如。当Model中接受到好友请求时。Control就会控制View,弹出一个提示框,提醒“XXX想要加入你为好友”。
    当你点击了接受以后,Control就会发送一条信息给后台,后台返回数据。从而改变Model。




    三 组合形式

    就拿上面的好友系统来说。


    通常会有一个单独的场景SceneFriend,然后有FriendModel,FriendView,最后就是FriendControl。
    那么MVC是怎样组织到场景中的呢?也有两种做法。
    1 将FriendModel,FriendView做为FriendControl的成员变量。
    2 将FriendModel。FriendControl做为FriendView的成员变量。
    第一种方案比較符合MVC这样的模式的设计,讲MV作为C的成员变量,控制起来比較方便。
    另外一种方案对UI的结构来说。更加适合。

    由于在Scene中加入一个View,这个是比較合理的。
    第一种方案。我们须要将Control的成员变量View,加入到Scene中。
    两种各有优劣,看大家的取舍了。iOS採用的是第一种方法。

  • 相关阅读:
    .net中连接远程目录的解决方案
    VS2008+Window Mobile开发环境的搭建(转)
    安装任何版本ActiveSync都出错原因
    问题让人开始慢慢的思考
    [原创]EasyUI的TreeGrid查询功能实现
    听客户说然后再做开发
    EasyUI的DataGrid合击汇总页脚使用教程
    ASP.NET MVC 使用AderTemplate模板引擎进行视图显示
    C#的JSON数据格式转换方法
    Delphi使用ReportMachine制作小计和总计报表
  • 原文地址:https://www.cnblogs.com/lxjshuju/p/6911467.html
Copyright © 2020-2023  润新知