首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是商业计算机游戏中使用的MVC设计模式。

是商业计算机游戏中使用的MVC设计模式。
EN

Stack Overflow用户
提问于 2010-02-06 04:01:06
回答 3查看 9.7K关注 0票数 34

MVC设计模式是否在商业电脑游戏中使用?

特别是关于高性能游戏,我很好奇在游戏行业中是否有MVC的商业用户?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-02-06 04:13:18

它很少在游戏中使用。我花了一段时间才弄明白原因,但我的想法是:

MVC的存在是为了区分两种表示形式。模型是数据的抽象表示。它是机器查看应用程序状态的方式。视图(和控制器)以对人类有意义方式表示系统的更具体的可视实例化。

在大多数商业应用程序中,这两个世界是完全不同的。例如,一个电子表格的模型就是一个简单的二维值网格。它不必考虑单元格的像素宽度、滚动条的位置等。同时,电子表格视图不知道单元格值是如何计算或存储的。

在游戏中,这两个世界更接近彼此。游戏世界(模型)通常是位于某个虚拟空间中的一组实体。游戏视图也是位于某个虚拟空间中的一组实体。包围体,动画,位置等,所有你认为是“视图”一部分的东西也直接被“模型”使用:动画可以影响物理和AI等。

最终的结果是,游戏中模型和视图之间的界限是任意的,没有任何帮助:你最终会在它们之间复制很多状态。

相反,游戏倾向于沿域边界解耦: AI、物理、音频、渲染等将尽可能保持分离。

票数 70
EN

Stack Overflow用户

发布于 2010-02-06 06:28:10

这在很大程度上取决于游戏。

例如,第一人称枪手,可能不是。

一个飞行模拟器,MVC是很有可能的(X-Plane和FlightGear实际上都使用MVC,你可以从他们的插件API看出)。SimCity,你当然可以这样做并且有意义(不知道他们是否真的这样做了)。也许是实时策略。珠光宝气,谁知道呢。

票数 6
EN

Stack Overflow用户

发布于 2010-02-06 04:06:49

我不知道有没有使用它的商业游戏;也许有一些。然而,我找到了一份paper,其中提到了电脑游戏中使用的MVC模式。这可能会给你一点洞察力。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2210026

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档