Cocos2d-x Lua cc & ccs&ccui区别和使用

其实这些区别归因于cocos2dx lua对应API版本号的问题,因为以前cocos用cocos2d-lua写,后来带领大家往quick转,现在合并后,又带领大家回到cocos-lua,所以必定会产生一些规范和版本号的区别。

尤其在2.x和3.x之间的变化比较大,或者quick版本和整合版的多种调整。

cc代表Cocos核心:Cocos2DConstants.lua储存

ccs代表CocoStudio:StudioConstants.lua储存

ccui代表CocoStudio的UI控件:GuiConstants.lua储存

cc和ccui倒是很好理解,那么ccs怎么理解呢?

其实应该说相当于C++的命名空间,ccs是cocostudio的缩写,代表CocoStudio的命名空间(只是类似)。

比如我们发现

1.之前的cc.ui.xxx是quick自己封装过的控件,

2.而ccs里面的对象是c++里面的原生控件

3.若使用cc.ui.xxx将出现在ccs里面有交互的时候无法响应touch事件的问题

4.必须用ccui.xxx,这个是c++里面的控件,touchEvent也是同一体系的。

5.并且ccui.ScrollView对应cocos2d::ui::ScrollView,cc.ScrollView对应cocos2d::extension::ScrollView

在我们平时使用控件的时候,也同样会遇到一些问题,比如

1.quick中cc.ui.UIPushButton和ccui.Layout是不能共存的,在layout存在的情况下UIPushButton是不能被监听到的

2.如果在quick中使用ccui.Button,那么ccui.Button是不能被屏蔽的,也就是说,无论quick中怎么处理不让ccui.Button被点击都无效,只要他存在,就会被点击。

3.同时cc.ui.UIScrollView也存在问题,其不能被缩放,但是其父节点可以缩放。

4.cc.ui.UIListView也存在问题,其不能被缩放,但是其父节点可以缩放。

5.cc.ui.UIListView也存在不能缩放的问题。

也就是说,以上API中,一旦按设计的分辨率来设计,就不能再被缩放。

现在,类被绑定到不同的模块中,而不是使用全局模块。这将避免与其他代码发生冲突。

 

相关内容,有兴趣的可以看这些文章

https://blog.csdn.net/blackzhangwei/article/details/80088314?utm_source=blogxgwz0

https://icocos.github.io/2018/10/22/cocos2dx-lua-cc-ccs-ccui%E5%8C%BA%E5%88%AB%E5%92%8C%E4%BD%BF%E7%94%A8/

 

 

你可能感兴趣的:(Cocos2d-x,+,Lua)