首页 > 代码库 > Quick Cocos2dx MVC初步

Quick Cocos2dx MVC初步

今天看到了自己之前两年前写的一个地图编辑器,

写了不到一半就放弃了,

但是还是github上的小伙伴fork了,

真的感觉对不起那位伙计,

同时也鄙视一下一直以来懒得要死的自己,

希望这个demo不要太监了,为了自己,也为了家人。

 

吐槽完毕,正题来了。

昨晚回家难得写了几行代码,真的是只有几行,每天上午都在游戏中度过,游戏公司,你懂的。

下午又开始继续Quick-x的编码了。

 

上次把官方的sample/mvc的代码照着敲了一边,顺便入门了一下状态机,关于quick状态机,可以参考以下的帖子:

http://cn.cocos2d-x.org/tutorial/show?id=824

 

Model是存放数据,操作数据的,官方的Model包里面就放了几个DO,数据的存放与操作反而是放在了MyApp.lua下面。

个人感觉这个有点混乱,也许人家这样写是因为有别的原因吧,所以暂时将就用着。

之前我写过一个GameDataCenter的单例类本来是用来保存数据的,接口的啥的都写好了,后来被我手贱之下给删掉了,额,不堪回首。

 

再来说说Controller这个,官方的例子里面PlayerDualController.lua,这个类也是个大杂烩来的。

它继承自Node,添加了一些UIPushButton到,控制层不需要做显示相关的东西的,他只需要通知View层去如何显示而已,毕竟程序里面的控制器不是游戏手柄那样的控制器,

这个累不过也确实是一些Controller的正业,可以借鉴一下的。

 

View没啥好说的。

 

以上是自己学习官方的mvc例子的想法,可能官方只是想做个比较简单的sample说明一下而已。

如果做大项目,需要多人协作的话,其实这个结构需要优化一下的。

如果小玩意儿,为了性能和开发效率着想的话,倒是可以随自己的喜好去组建项目的。

毕竟各种臃肿的结构会增加项目尺寸,跨类访问需要消耗一定的性能的。