当前位置:  开发笔记 > 编程语言 > 正文

MVVM将如何用于游戏?

如何解决《MVVM将如何用于游戏?》经验,为你挑选了2个好方法。

特别是对于2D游戏,特别是silverlight/wpf游戏.

如果您考虑一下,可以将游戏对象划分为其视图(屏幕上的图形)和视图模型/模型(对象的状态,ai和其他数据).在Silverlight中,将每个对象设置为用户控件,将模型和视图放入单个对象中似乎很常见.我认为这样做的好处是简单.但是,它可能不那么干净,或者在潜在的"游戏引擎"方面有一些缺点.

你对这件事有什么看法?使用MVVM模式进行游戏开发有哪些优点和缺点?性能如何?欢迎所有的想法.



1> Dan Bryant..:

您可能会遇到性能问题,因为MVVM通常会在WPF中导致大量数据绑定功能,以实现清晰的分离.然而,它仍然是一个很好的主意,值得追求; 如果需要,您可以随时分析应用程序并优化某些元素.最有可能的是人工智能是门控而不是UI整合.

至于确定在哪里划分模型| 查看模型| 查看,我想采取以下方法:

    模型是与直接用户交互无关或几乎没有任何关系的一切.这将包括游戏规则引擎,AI等.视图模型以明确定义的方式与模型交互,其中用户可以控制或接收关于游戏模型中发生的事情的反馈.

    我尝试为界面的每个主要组件创建View Models.例如,如果你正在构建一个RPG,你可能有一个InventoryViewModel,CharacterStatsViewModel,WorldMapViewModel等.我通常不会为单个控件/小部件创建它们(比如健康指示器,项目字形或'+'符号以升级)除非他们有一个相当复杂的界面.

    视图当然是用户最终如何进行交互和观察,这是非常简单易懂的.一个好处是您可以为给定的ViewModel创建多个视图,因此您可能有一个大型视图用于库存,也可以有一个较小的视图用于快速访问重要项目,例如,如果您与它们交互的方式基本上是相同.


尼斯.3号听起来特别有用.

2> Berryl..:

总之 - 太棒了!

事实上,Josh Smith刚刚发布了一本关于MVVM的书,他将游戏作为他的解释性应用.建议你先阅读Ward Bell 对 Josh作品的优秀(和免费)批评.

推荐阅读
echo7111436
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有