有人有同样的问题吗?我已将图层添加到场景中。但是当场景退出并调用其析构方法时,不会调用图层的析构方法。这是代码:
void TowerScene :: init()
{
addchild(Tower::create());
retrun true;
}
感谢任何帮助。
答案 0 :(得分:0)
CCTouchDispatcher
,CCKeyboardDispatcher
,CCScheduler
或其他单身人士在代理对象上使用retain
,因此,引用计数器将保持递增,直到委托被删除为止。如果手动将图层作为委托添加到调度程序或其他,则必须在onExit
方法中手动删除(取消删除)委托。
要查找问题,您还可以覆盖virtual void retain()
公共方法并在其中设置断点。 Backtrace将显示,其中引用计数器递增。
P.S。请确保调用init
,onEnter
,onExit
和其他重写方法的超级方法。 C ++方式:SuperClass::method()