模型/视图分离

时间:2013-08-16 14:45:22

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

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

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

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

1 个答案:

答案 0 :(得分:3)

  

玩家应该拥有自己的X和Y坐标,这些坐标都是被操纵的   独立地,GX_x和GX_y只是“听”玩家的   当前坐标。

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

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

你所谈论的是Model View Controller模式。

  

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

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