cocos2dx目前lua对应的c++对象的生命周期管理,是基于c++析构函数的,也就是生命周期可能存在不一致,比如c++对象已经释放,而lua对象还存在,如果这时候再使用,会有宕机的风险,为此我开发了cocos-lua项目,基于lua gc管理c++对象的生命周期。
cocos-lua以cocos2d-x 3.17.2的c++项目为基础,采用基于lua gc来管理c++对象的生命周期,提供更丰富cocos2d-x lua api,包括几乎除模版以外的所有lambda(schedule、scheduleOnce...)函数回调,能够极大减少在lua层使用c++对象的负担。
对比cocos2dx-lua目前方案,有以下几个优势:
项目地址:https://github.com/zhongfq/cocos-lua13
开源基于lua gc管理c++对象的cocos2dx lua绑定方案
原文:https://www.cnblogs.com/zhongfq/p/11356239.html