动画和MVC原理

时间:2012-08-29 13:37:18

标签: oop model-view-controller design-patterns animation

我总是根据MVC原则设计我的程序,但是装入动画是痛苦的。

到目前为止,我已实施以下方案:

1)模型执行多个操作[]并向所有侦听器发送通知;

2)在收到通知后,View会向队列添加动画。

这是可行的方法,但它有一个巨大的缺点 - 模型和UI变得不同步。例如,已经有10个动作应用于模型,但UI仍处于状态,其中5个已应用。

这个缺点迫使动画编码不间断,这对于UI设计来说不是好习惯。请提出建议如何解决问题。

1 个答案:

答案 0 :(得分:1)

您可以在动画完成后更新模型。这样,您的动画就是用户可以用来确定动作何时完成的表示。例如。将对象拖动到目标后,对象将保留(模型侧)旧位置,直到动画结束,然后才会移动到新对象。

这样,如果动画因用户中断或错误而失败,您的模型仍将与视图的当前状态同步。