gpt4 book ai didi

actionscript-3 - Model View Controller - 在哪里保持简单的逻辑

转载 作者:行者123 更新时间:2023-12-05 00:38:38 24 4
gpt4 key购买 nike

我经常看到 Model View Controller 模式的非常不同的实现,并且完全理解您应该适应和使用最适合您需要的东西,但我想知道在以太中保持简单游戏逻辑的优点/缺点/最佳实践是什么 Controller 或模型?

从本质上讲,我应该这样做的正确方法是什么?

对于这个简单的例子,玩家受到伤害,我列出了三种可能的处理方法:

1.

Controller :

_model.playerDamage - 15;
if (_model.playerDamage <= 0){
_model.playerLives --;
_model.restartLevel();
}

2.

Controller :
_model.playerDamage = 15;

模型:
function set playerDamage(value:int){
playerDamage = value;
updatePlayer();
}

function updatePlayer():void{
if (playerDamage<=0){
palyerLives --;
restartLevel();
}
}

3.

Controller :
_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'));
}

最佳答案

当然在模型中,因为您可能有多个 Controller (将来)以类似或相同的方式影响模型中的事物。 Controller 只是一种将 UI 事件转换为业务事件的机制。模型是处理逻辑的地方。

您可能会发现以下 stackoverflow 线程很有用:

  • Is the MVC-pattern a pure presentation-tier pattern?
  • What do I call the code that orchestrates my web application?

  • 尽管它们是特定于 Java 的,但这里讨论的想法是独立于平台的。

    希望有帮助。

    关于actionscript-3 - Model View Controller - 在哪里保持简单的逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5351246/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com