addChild的时候报出invalid 'cobj' in function 'lua_cocos2dx_Node_addChild'的错误

来源:互联网 发布:北师大网络教育官网 编辑:程序博客网 时间:2024/06/05 19:45


通常错误原因是,父节点已经被删除了。

此时如果判断父节点是否为nil,会发现父节点依然是非空。

解决方法:

addChild之前需要先用tolua.isnull(父节点)判断,如果为真则不addChild


tolua.isnull

检查指定 Lua 值中保存的 C++ 对象是否已经被删除。
我们在将 C++ 对象保存到 Lua 值后。只要还有 Lua 代码在使用这些值,那么即使 C++ 对象已经被删除了,但 Lua 值仍然会存在。如果此时调用 Lua 值的方法就会出错。
因此可以用 tolua.isnull() 检查 Lua 值中的 C++ 对象是否已经被删除。


阅读全文
0 0
原创粉丝点击