cocos2d里面如何实现MVC(六)

本文总结了在Cocos2d中实现MVC模式的方法:Model封装游戏逻辑,Controller处理用户交互及Model更新,View展示Model状态。讨论了各组件间的交互方式,并提出了关于撤销功能实现位置及场景状态保存等开放性问题。

    本文将会比较简短。如果你对于前面几篇介绍cocos2d里面如何实现mvc有什么不清楚的地方,请跟我讲,这样我就可以补充地更详细一点。我(原作者)最近接了一些非常大的外包项目,所以,用来写博客的时间不是很多。在此,我简单地总结一下前面写的这些文章:

  1. 我们实现了Model,它可以帮助我们封装游戏的逻辑,这样可以使我们的关注点集中于游戏逻辑,而不是其它的(比如渲染)
  2. 我们实现了Controller来处理用户交互,同时相应地更新model。
  3. 我们实现了View,而它的职责仅仅是负责显示model的状态。
它们三者之间的交互关系如下:
  1. Controller负责初始化Model和View
  2. View负责显示Model 
  3. View负责接收用户touch事件,然后传递给controller来处理。
  4. Controller实现view的代理,同时可以操作Model。
  5. model则执行一些游戏逻辑处理并通知view它的状态改变。
  6. View根据model的当前状态来更新它里面的所有对象,比如精灵。
留几个开放性的问题:
  1. 如果你想使用NSUodoManager来实现“撤销”功能,你会把该功能放在哪里呢?Model?Controller?View?
  2. 你会怎么保存当前场景的状态信息呢?
  3. 或者你还可以补充其它问题?

 

后记:本文已同步更新到cocos2d mvc这个系列里面去了。

    如果你觉得本文章对你有所帮助,请您点一下旁边的“推荐”按钮,这样可以让更多的人看到,同时也会给我写作的动力,谢谢大家。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值