假设我正在制作视频游戏。播放器具有X和Y坐标,这些值是Player
对象的成员。我们还假设我正在使用假设的GAME-X
游戏引擎,它使用GX_x
和GX_y
值渲染每个对象。
如果我想将域(Player
)与视图(GAME-X
)分开,我理解播放器应该有自己的X
和Y
独立操作的坐标,GX_x
和GX_y
只是“聆听”玩家的当前坐标。例如,这样做可以让我选择一个新的游戏引擎,同时保持领域层不受影响。这也意味着游戏基本上可以在严格的域级运行。
这是一个好的设计策略吗?如果没有,为什么?如果是这样,这个策略的真实名称是什么?我如何在整个系统中对其进行改进?
答案 0 :(得分:3)
玩家应该拥有自己的X和Y坐标,这些坐标都是被操纵的 独立地,GX_x和GX_y只是“听”玩家的 当前坐标。
这是正确的策略。由于GX_x
,GX_y
是演示级别,可以是设备/分辨率/引擎特定的。
考虑具有480*320
和960*640
分辨率的2部手机。模型中的x
,y
应该相同(两部手机中运行的代码相同),而GX_x
和GX_y
在两个设备上都会有所不同。
你所谈论的是Model View Controller模式。
选择新的游戏引擎,同时保持域图层不变。它 也意味着游戏基本上可以在严格的域上运行 水平。
这些是使用模式的优点和原因。