3

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

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

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

4

1 回答 1

3

玩家应该有自己独立操作的 X 和 Y 坐标,而 GX_x 和 GX_y 只是“监听”玩家的当前坐标。

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

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

这是您正在谈论的模型视图控制器模式。

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

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

于 2013-08-16T14:48:25.390 回答