2013-08-16 60 views
3

假設我正在製作視頻遊戲。玩家有X和Y座標,這些值是Player對象的成員。讓我們假設我正在使用假設的GAME-X遊戲引擎,它使用GX_xGX_y值呈現每個對象。模型/視圖分離

如果我想從視圖(GAME-X)域(Player)分開,這是我的理解是,球員應該有自己的XY座標被獨立操縱,以及GX_xGX_y只是「聽」到玩家當前的座標。這樣做會允許我選擇一個新的遊戲引擎,同時保持域層不變。這也意味着遊戲本質上可以在嚴格的域級上運行。

這是一個很好的設計策略嗎?如果不是,爲什麼?如果是這樣,那麼這個策略的真名是什麼?我如何在整個系統中改進它?

回答

3

球員應該有自己的X和Y座標被獨立操縱 和GX_x和GX_y只是「聽」到玩家的 當前座標。

這是正確的策略。由於GX_x,GX_y是演示級別,可以是設備/分辨率/引擎特定的。

考慮2個電話,分辨率爲480*320960*640。您的模型中的x,y應該是相同的(兩個手機中運行相同的代碼),而GX_xGX_y在兩個設備上都不相同。

這是你正在談論的Model View Controller模式。

選擇新的遊戲引擎,同時保持域圖層不變。它也意味着遊戲本質上可以運行在嚴格域名 的關卡中。

這些是使用模式的優點和原因。