我理解如何分离逻辑和数据,至少我认为我理解了。我可以为模拟做到这一点,例如。但是,试图添加反馈总是会扔一个乱麻到我的合理架构中。例如,在一张牌游戏中,我可以对玩家下棋做出反应,更新任何数据,如健康、金钱等等,将牌放入弃牌堆中,突然游戏数据被更新,逻辑完成。这发生在一个单独的帧中,显示立即更新。但现在,我想让牌在屏幕中心淡入淡出,做一个小动画,造成伤害的动画,赚取金钱,最后去到弃牌堆。并且,我想等到每个步骤完成后再更新显示。在我的天真的方法中,总是发生的是,底层数据立即更新。然后,我被困在尝试那些动画并维护两个单独的显示状态中。这很复杂,实话说,永远不成功。另一个我能想到的方法是,不实际执行逻辑,直到动画完成。所以,play方法被调用,它淡入淡出自己(或要求别人做,whatever),等待它完成,做它的第一块,等待它完成等等。这感觉更可维护和可扩展,但也更容易出现奇怪的、难以复制的错误。您是如何接近这个问题的?第二种方法是否更好,还是我没看到的另一种方法?感谢您的任何输入!
数据、逻辑和状态的分离是如何实际实现的?
评论 (0)