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说明一下而已。
如果做大项目,需要多人协作的话,其实这个结构需要优化一下的。
如果小玩意儿,为了性能和开发效率着想的话,倒是可以随自己的喜好去组建项目的。
毕竟各种臃肿的结构会增加项目尺寸,跨类访问需要消耗一定的性能的。