【问题标题】:Model/View Separation模型/视图分离
【发布时间】:2013-08-16 14:45:21
【问题描述】:

假设我正在制作一个视频游戏。玩家有一个 X 和一个 Y 坐标,这些值是 Player 对象的成员。我们还假设我正在使用假设的 GAME-X 游戏引擎,它使用 GX_xGX_y 值渲染每个对象。

如果我想将域 (Player) 与视图 (GAME-X) 分开,我的理解是玩家应该有自己的 XY 坐标,它们是独立操作的,并且GX_xGX_y 只是“听”到玩家的当前坐标。例如,这样做可以让我选择一个新的游戏引擎,同时保持领域层不变。这也意味着游戏基本上可以在严格的域级别上运行。

这是一个好的设计策略吗?如果不是,为什么?如果是这样,该策略的真实名称是什么?我如何在整个系统中改进它?

【问题讨论】:

    标签: oop design-patterns language-agnostic game-engine


    【解决方案1】:

    玩家应该有自己的 X 和 Y 坐标,它们可以被操纵 独立,GX_x 和 GX_y 只是“听”玩家的 当前坐标。

    这是正确的策略。因为GX_xGX_y 是表示级别,可以是设备/分辨率/引擎特定的。

    考虑 2 部具有 480*320960*640 分辨率的手机。 x,y 在您的模型中应该是相同的(在两部手机中运行相同的代码),而 GX_xGX_y 在两部设备上会有所不同。

    你说的是Model View Controller 模式。

    选择一个新的游戏引擎,同时保持领域层不变。它 也意味着游戏基本上可以在严格的域上运行 级别。

    这些是使用该模式的优点和原因。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-11
      • 1970-01-01
      • 2016-11-28
      • 2011-04-09
      • 2010-12-09
      • 2017-03-11
      • 2012-06-24
      • 1970-01-01
      相关资源
      最近更新 更多