cocos2d-lua中如何销毁指定节点?

cocos2d-lua中如何彻底销毁指定节点,而不仅仅是从父节点中移除该节点,cocos creator中有destroy;但是我发现cocos2d-x似乎没有对应的,难道用“对象 = nil”的方式来销毁节点呢?虽然说赋值nil是销毁lua对象的,但cocos2d-x的本质是C++,感觉似乎不该用赋值nil的方式,如何销毁cocos2d-lua的节点对象?

喜欢这个问题 | 分享 | 新建回答

回答

喷火的尾巴

Apr 10, 2023
1 赞

cocos2d-x(C++版本)或者cocos2d-lua中都是不需要destroy的,只有cocos creator中需要手动destroy的;cocos2d-x中有自动回收机制。

removeFromParent()即可在下一帧自动回收。

(备注:在同一帧不会被自动回收,在之后会自动回收;如果不信,可以自己用一个延时函数去试试就知道我所言非虚。)

此外,cocos2d-lua虽然底层是C++,但是因为luabinding所以,也是直接removeFromParent即可,cocos2d-x的C++引擎会自动释放相应内存。