混Quick社区快一周了,还是决定分享一下我选择Quick的原因。 一是向大家介绍一下我自己,同时也希望给大家提供一个参考
首先,向大家介绍一下我自己
姓名,年龄,性别这些都不重要了。
我是一名程序员,在游戏行业混迹了大约5年。做过的项目就不方便在这里提了,以免广告嫌疑。总之大大小小5,6个的样子。
我开发、维护过端游,手游引擎(基本上都是C++)
也开发过网页游戏 AS3的

而实际上,端游我并未出过项目,手游由于公司的原因,是纯C++开发。 上线过几款页游。 因此,总的来说,我没有大量使用LUA的经验。 一切对我来说,都是未知的。
U**3D引擎是我一直在研究并关注的引擎,因为,我有着一个开发3D MMORPG游戏的梦想,就像我钟情的 魔兽世界(这个不算广告吧)。 而新项目的需求,使我不得不放弃这引擎,转而选择cocos2dx

要说U***3D和cocos2dx谁好谁坏,我觉得是不需要比较的,它们都有各自的优缺点。 而对于大部分以C++为生的人来说,不能直接掌控某些东西,那晚上是睡不着觉的。 (PS:我是巨蟹座,不是处女座,与星座无关)
好在我是一个杂食型,cocos2dx早在2.0.x版本就开始跟进,不为别的,就怕掉队。。。。还出过两个视频教程,这个不是为了说自己好NB,只是为了赚点稿费。 3块钱一分钟(这些都不说了,只是向大家证明一下,我对cocos2dx还是有好感,不因为我说我喜欢U***3D就把我要把我当敌人)

当决定是cocos2dx后,我又开始纠结了,用不用LUA。。。。 
我一开始的更新方案是,游戏分为APP代码更新和资源更新。。 后来仔细研究了一下当前的一些在线游戏的更新频率,以及那可怕的国内ANDROID平台运营商数目, 觉得太不现实了。
并且,使用C++开发,人员方面也是问题,虽然我确信,可以通过适当提高招聘要求和薪酬,同时加强QA审核来解决。 但即使是C++高手, 也难免不出问题。 于是,最终选择了LUA。 选择LUA不是因为LUA对编写人员的要求低。  微微蓝 说的一句话我十分同意, 通常, LUA写得好的,C++高手居多。(这只是一种意会, 广意的说法就是, 一个能够将脚本语言用娴熟的,那他的语言功力绝对不会低)。   LUA的动态更新方案能够使我在版本发出后快速补救。

好,我想,我真的是一个纠结的人。
我在纠结完U***3D和cocos2dx后
开始纠结用不用LUA
确定要使用LUA后,我又开始纠结,用不用Quick

于是,我花了两天时间到处询问,大家都在用啥,是用cocos2dx导出的LUA接口自己DIY,还是使用QUICK来做。
很多人回答我说,他们是自己撸,原因很简单,他们用的是先前的那套,他们那套是从cocos2dx 2.0.x版本就发展过来的,当时quick还没有正式版

左思右想后,加入了Quick群, 被大家喷了个遍。  确实, 你在QUICK群问QUICK有啥坑,这不是找抽么。 最让我明白的一句话是:纠结,害怕,源于经验不足

哇嚓,我当时十分懊恼,冷静了两秒后,觉得他们说得对。 微微蓝给我的评价是:你用了就不想再用其它的了。  在经微微蓝科普下。 我决定自己试试

于是,我去GIT上下载了MASTER的ZIP版本, 因为我项目要年底才出,于是,我对QUICK版本的定位就是3.2版本。 我踩坑,自然就要用新版来踩
下载完后解压,然后配置好环境变量,打开player,运行例子。 哇嚓,这流程,不就是FLASH么。。。

我试着改了一下示例中的代码,按F5刷新,哇嚓,它变了,它真的变了。

运行完示例后,我决定新建一个项目试试。 来到Bin目录下,打开CMD,执行 create_project.bat -p com.ooxx.mygame 回车
就发现Bin项目下出现了mygame文件夹,通过player可以发现它是一个hello world

新建项目如此的方便,我没话说了,quick保持了和cocos2dx同样的创建新项目的方式。这点让人感到很舒服。

接下来,我测试版本发布,由于IOS要进虚拟机,有点麻烦,我就测试了ANDROID。 
对于ANDROID来说,2.2.3有几个问题要注意
配置ANDROID NDK,且要新版本,才能使用build_native.bat
新建的项目,不会把org.lib.cocos2dx.****.java这堆东西拷过来
AndroidMainfest.xml里面minTargetVersion要改为10
Java Build Path里面要删掉Dependencies等问题

所以,我按我发布cocos2dx 2.2.3的操作,成功打了一个APK到我的项目上。
这一切,都满足我的期望。

接下来,我看了framework的代码和本地文档, 其中许多功能让我感到满意,终于不用我自己DIY了。 比我想象中的更直观, 由于我对LUA的陌生,如果我自己来撸,不知何年何月才能达到这样的水平。

基本东西调查完了,我就要来解决我最关注的两个问题
更新和加密

更新:找到了七月的贴子,得到了完整的思路。 这个思路和我之前搞端游的思路有点出入, 不过,和页游非常象。 唯一和页游不一样的,就是要自己处理一下文件存放问题。 最近几天,坛子里讨论得较多的也是这个话题。 经过几天的摸索,基本上确定了更新流程,也写了代码测试。这又超了我的想象。

加密:LUA是明文的,让别人下载去了,不是很容易就能猜到前后端通信规则,以及哪些东西是在前端计算的么。 这样外挂还不飞天了。 不过,QUICK处理了这个事情,你可以简单的通过LUAJIT来加密,如果还不放心(因为字 符串不会被JIT掉),可以使用XXXTEA进行加密 。这些QUICK都帮你处理好了,你只需要设置好你的密钥就可以了。

一切,都让我觉得很自然,仅仅一周的时间,我将更新和加密问题弄得很明白,同时也熟悉了quick的整个机制。

同时,quick与cocos2dx一样是开源的,也就是说,如果你真觉得有什么不爽,你自己改了就可以了。 quick的代码在你熟悉以后,其实就是你自己的了。

希望上面的文章,能够对有选择犹豫症的朋友有帮助。

PS:新版的QUICK的API越来越像FLASH的包组织结构,相信对FLASH开发者来说,是很容易过渡的。 而对FLASH不熟的朋友也不要纠结,quick这样选择,并不是为了亲近flash开发者,而是flash那种API和思路,很容易上手。

感谢阅读~

为什么我的新项目选择了Quick-cocos2d-x的更多相关文章

  1. cocos基础教程(5)数据结构介绍之cocos2d::Value

    1.概述 cocos2d::Valie 是一个包含了很多原生类型(int,float,double,bool,unsigned char,char* 和 std::string)外加 std::vec ...

  2. cocos2d的ARC开启

    ARC,官方解释是Automatic Reference Counting,是Apple公司从iOS5开始为开发者新添加的一个功能. 相信很多写移动开发,可能不只是移动开发的人都深有体会,创建一个对象 ...

  3. 如何选择前端框架:ANGULAR VS EMBER VS REACT

    最近一段时间是令前端工程师们非常兴奋的时期,因为三大Web框架陆续发布新版本,让我们见识到了更强大的Web框架.Ember2.0在2个月之前已经发布,从1.0升级到2.0非常简单.几周之前React发 ...

  4. iOS开发Xcode7真机调试教程

    从Xcode7开始,Xcode 不需要$99/$299升级开发者直接可以进行真机调试 调试步骤 1.假设已经你已经有了苹果账号,下载并安装好了Xcode7 2. 打开Xcode-> Prefer ...

  5. SecureCRT设置

    SecureCRT设置 文章来源:http://blog.csdn.net/dongqinliuzi/article/details/39890569 本文主要介绍SecureCRT的使用方法和技巧. ...

  6. 【转】iOS开发Xcode7真机调试教程

    原文网址:https://www.skyfox.org/ios-xcode7-debug-device.html 从Xcode7开始,Xcode 不需要$99/$299升级开发者直接可以进行真机调试 ...

  7. 转-SecureCRT设置

    原帖地址:http://www.2cto.com/os/201410/341569.html 一.基本设置 1.修改设置 为了SecureCRT用起来更方便,需要做一些设置,需要修改的有如下几处: 1 ...

  8. securecrt简介

    SecureCRT是最常用的终端仿真程序,简单的说就是Windows下登录UNIX或Liunx服务器主机的软件,本文主要介绍SecureCRT的使用方法和技巧 VanDyke CRT 和 VanDyk ...

  9. 相遇Qt5

    使用Qt5.x版本中的不同方面来开发应用程序,着重于新的Qt Quick的技术,提供了编写C++后端的必要内容,并扩展了Qt Quick.     本章提供了关于Qt5高层次的概述.它对开发者有效的展 ...

随机推荐

  1. [学习笔记]坚果云网盘,SVN异地代码管理

    SVN的好处不必多说了.但是如果希望有一份自己的用来学习和储备的代码仓库,那么能够异地同步是必不可少的了. 参考作者Mike_QSJ的文章,但是实际上做了很大的改动.一方面使用更常见的windows系 ...

  2. Freemarket学习整理。

    导入freemarker.jar包 把word文档另存为xml格式,2007以上版本支持. 编写代码,把路径更改为xml所在路径. 把需要更改的地方写成${}形式. package Document. ...

  3. Twitter Bootstrap

    Twitter Bootstrap是一个HTML/CSS/JS框架,适用于移动设备优先的响应式网页开发.主要涉及: HTML:为已有的H5标签扩展了自定义属性 data-* CSS : Reset + ...

  4. 基于现有数据库的Code First模式迁移更新数据库

    本文讨论的内容是基于EF4.1版本.文中谈论的现有的数据库不是由EF创建.本文假定你已经对Code First迁移有一定的了解,如果不了解Code First迁移更新数据库可以查看 文章涉及的主题如下 ...

  5. 七个高效的文本编辑习惯(以Vim为例)

    七个高效的文本编辑习惯 如果你花很多时间输入纯文本.写程序或HTML,那么通过高效地使用一个好的编辑器,你可以节省大部分时间.本文将提供指导和提示,让你更迅速地做这些工作,并且少犯错误. 本文用开源文 ...

  6. 手拼SQL小技巧,WHERE 1=1

    由于项目要求,要手动拼接SQL,(不知道领导们怎么想的--),然后就再次回到原始时代,append(SQL). 但后面查询牵扯到动态多条件,如果是mybatis的话就直接 可以用<if>标 ...

  7. 今天我们要说的画一个三角形,恩,画一个三角形,第一种呢是利用我们的html标签结合css来实现;而第二种方法就就是我们的html5新增的一个标签canves,这个canves就是网页画幕,那么顾名思义就是在网页里建造一个画板,用来画画,好,那接下来就和我一起去看看吧!

    第一种方法:利用我们的html标签结合css来实现 span{ width:0px; height:0px; border-width:7px; border-style:solid; border- ...

  8. js组件之间的通信

    应用场景: 1.在刷微博的时候,滑到某个头像上,会出现一张usercard(用户名片), 微博列表区有这个usercard, 推荐列表也有这个usercard,评论区也有. 2.在网上购物时,购物车安 ...

  9. 成功转移安卓手机QQ聊天记录

    废话先不说,直接上干货: 只要把两个地方的数据完整的复制到新手机对应位置就可以了,但过程相当坎坷: /data/data/com.tencent.mobileqq /sdcard/Tencent/Mo ...

  10. 搭建一个SSH项目框架的步骤

    1.导入jar包(38个) 2.配置文件 applicationContext,xml (beans.xml) (数据源.LocalSessionFactoryBean.事务管理器.事务通知.AOP切 ...