前段时间刚刚接触quick 2.2.5,就跟着网上教程入门学习。现在就来踩3.3rc0的坑,在写UI的时候,发现2.2.5ui.xxxx那套API不能用了,都cc.ui.UIxxx.new格式的。。。

    不能用的UI系统:


quick-cocos2d-x 3.3rc0 与 2.2.5的区别(一)------ UI系统_quick

        这很纠结,就去查了下资料.

        在CocoaChina 开发讨论区发现了一篇文章http://www.cocoachina.com/bbs/read.php?tid=208474,说现在 quick 里实际上有三套 UI 系统,在 quick v3 中,将只提供一套纯脚本实现的 UI 库。就是cc.ui.UIxxx.new这套:


quick-cocos2d-x 3.3rc0 与 2.2.5的区别(一)------ UI系统_quick_02


 

        然后我就去看了源码,找到framework/init.lua文件,发现了quick 2.2.5 quick 3.3rc0的一个不同之处(其他的我没去看):

        2.2.5的如下:

quick-cocos2d-x 3.3rc0 与 2.2.5的区别(一)------ UI系统_quick_03

        3.3rc0的如下:


quick-cocos2d-x 3.3rc0 与 2.2.5的区别(一)------ UI系统_cocos2dx _04

        看见LOAD_DEPRECATED_API这个是不是很熟悉,熟悉就对了!在每个创建的新项目里,有个config文件,都有这个字段,作用:是否载入过时的 API 定义,默认为 false.

        所以到这就很明白了,在quick 3.3rc0中,默认没有加载ui.xxx这套模块,想要使用,LOAD_DEPRECATED_API设置为true即可。个人建议还是不要修改,就使用quick 3.3rc0提供的这套,方便而且不容易搞混淆。相信大家在用quick 2.2.5的时候,看到3ui系统混合使用都可以把自己搞迷糊。

        就写这么多,见笑了!

        今天是我写的第一篇文章,开始写文章是为了记录自己学习过程中的遇见的问题。如有不足之处,请大家指出,一起交流成长!

        希望以后能多写文章!(工作忙,大家都懂得。。。)