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

写了不到一半就放弃了,

但是还是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说明一下而已。

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

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

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

Quick Cocos2dx MVC初步的更多相关文章

  1. Quick Cocos2dx Http通讯

    服务端:Python 通讯协议:Http 参考文章: 1 用python实现一个基本的http server服务器 http://blog.sina.com.cn/s/blog_416e3063010 ...

  2. quick cocos2d-x 入门---井字棋

    学习quick cocos2d-x 第二天 ,使用quick-x 做了一个井字棋游戏 . 我假设读者已经 http://wiki.quick-x.com/doku.php?id=zh_cn阅读了这个链 ...

  3. Mac下搭建quick cocos2d-x编译环境

    一. 我知道在你的电脑中一定已经安装好了Xcode(没有自己下载去吧),打开Xcode,开启"偏好设置"对话框(commond + ,).假设打开之后出现的是这种一个对话框,那么直 ...

  4. 用Quick Cocos2dx做一个连连看(一)

    呵呵,不知道能不能坚持下来,先写着吧. 预备知识:Quick Cocos2dx 2.2.5基本知识 或者 Cocos2dx基本知识, lua入门 开发工具:Sublime Text 2.0/3.0 原 ...

  5. quick cocos2dx 3.x 配置win32工程

    公司项目主体部分用c++,而ui部分用lua写,所以选择了用quick框架.项目先开发了ios/mac版,这两天试着配置其win32工程,遇到一些问题,记录一下(纯c++版本cocos2dx配置方法应 ...

  6. quick cocos2d-x 2.2.4 window环境调试

    BabeLua简介 BabeLua是一款基于VS2012/2013(简称VS)的免费开源的Lua集成开发环境,在Lua编辑和调试方面,具有如下功能和特性: ●Lua语法高亮 ●语法检查 ●自动补全 ● ...

  7. Quick Cocos2dx controller的初步实现

    很久没有记笔记了,今天记一下,最近都在瞎忙活,都不知道自己干了些啥. 我的Controller是在官方的mvc sample的里面的PlayerDualController上更改的,所以很多地方还没来 ...

  8. Quick Cocos2dx 初步战斗

    呵呵,图片先来一发: 最近懒,很懒,连我自己都觉得有点可耻了. 但是实在没有什么东西啊,温水煮青蛙的什么的. 吐槽完成,以上. 目前完成了简单的战斗部分,AI还需要抽出来. 然后突然之间想到手游的帧频 ...

  9. quick cocos2dx lua 内存释放

    前言 对于内存的优化,网上有很多例子和教程.总体来说,就那么几种解决方案,在最后我会简单提下,这里先说下在quick中,对于图片的处理. 1.查看内存调试信息 对于quick框架的了解,我们可以参考\ ...

随机推荐

  1. C++ concepts: Compare

    The concept Compare is a set of requirements expected by some of the standard library facilities fro ...

  2. java应用测试报告生成(二):利用ant的build.xml生成测试报告

    1.将写好的项目导出 在工程下会生成一个build.xml的蚂蚁图标的文件. 2.右击该文件,选择run as Ant build 其中的测试目录是可以选择的,如果涉及到顺序也可以调整顺序 3.执行后 ...

  3. MyBaits 错误分析

    错误原因:在DAO的映射文件中,在映射标签中的type类型写成DAO类了,应该写成javaBean

  4. debug运行可以,release运行报错的原因及修改方法

    通常我们开发的程序有2种模式:Debug模式和Release模式在Debug模式下,编译器会记录很多调试信息,也可以加入很多测试代码,方便我们程序员测试,以及出现bug时的分析解决Release模式下 ...

  5. Map 根据value 排序

    总是有特殊的需求 ,呵呵 ,一起看看Map 根据value 排序的一个例子吧,还用到了泛型 很不错 此文仅供自己记录笔记. /** * hashmap 根据值排序 */ public static & ...

  6. 转:WebDriver进行屏幕截图

    例: 打开百度首页 ,进行截图 01 packagecom.example.tests;  02 importjava.io.File;  03 importorg.apache.commons.io ...

  7. Chapter 1 First Sight——13

    It was just drizzling still, not enough to soak me through immediately as I reached for the house ke ...

  8. 解决adb端口被占用的方法

    错误: [2016-04-20 19:05:04 - ddms] 'E:\android\android-sdk\android-sdk\platform-tools\adb.exe,start-se ...

  9. Android Studio的使用(十二)怎样打包项目

    1.在导航栏的Build下面找到Generate Signed APK...,进入该菜单栏即可. 2.生成Key Store安全钥匙和证书的管理工具. 3.如果已经有了Key Store证书,则可以直 ...

  10. Linux运维常用的命令详解

    1. 查看系统内核版本 [root@funsion geekxa]# cat /etc/issue CentOS release 6.5 (Final) Kernel \r on an \m 显示了系 ...