我經常看到的模型視圖控制器模式非常不同的實現,並且完全明白,你要適應和使用什麼適合您需要的最好的,但我不知道會是什麼優點/控制器或模型保持簡單遊戲邏輯的最佳做法?模型 - 視圖 - 控制器 - 在保持簡單的邏輯
在本質上這是正確的做法,我應該這樣做呢?
這個簡單的例子,球員接受損傷,我列出了對付它的三種可能的方式:
位指示:
_model.playerDamage - 15;
if (_model.playerDamage <= 0){
_model.playerLives --;
_model.restartLevel();
}
2。
控制器:
_model.playerDamage = 15;
模型:
function set playerDamage(value:int){
playerDamage = value;
updatePlayer();
}
function updatePlayer():void{
if (playerDamage<=0){
palyerLives --;
restartLevel();
}
}
3.
控制器:
_model.playerDamage = 15;
_model.addEventListener('playerChange', checkPlayerStatus);
function checkPlayerStatus(e:Event):void{
if (_model.playerDamage<=0){
_model.playerLives --;
_model.restartLevel();
}
}
型號:
function set playerDamage(value:int){
playerDamage = value;
dispatchEvent(new Event('playerChange'));
}
第二種方式 – www0z0k 2011-03-18 12:02:15
好,謝謝恕我直言 - 你會因此保持模型中的所有邏輯?並只使用控制器來設置模型中的東西? – davivid 2011-03-18 12:44:29
我會使用模型作爲數據結構的API - 你可以檢索你輸入所有需要後所需要的 - 並沒有其他人應該知道如何計算這個值:)和控制器只是爲了打發數據 – www0z0k 2011-03-18 13:22:47