Director _notificationNode中的可以添加很多一直存在的东西,如联网动画,小提示之类,与Scene无关的画面展示,使用3.3版本发现,虽然能够显示,但是加进去的东西不能执行动作也不能设置触控事件,看源码发现 少了几句代码
void Director::setNotificationNode(Node *node)
{
if(_notificationNode){
_notificationNode->onExit();
}
CC_SAFE_RELEASE(_notificationNode);
_notificationNode = node;
CC_SAFE_RETAIN(_notificationNode);
if(_notificationNode){
_notificationNode->onEnter();
}
}
加入 _notificationNode的onExit()和onEnter就可以解决这个BUG,又能愉快的使用这个东西了
附加:由于没有在游戏结束的时候调用 onEnter出现结束时出错,在
Director::~Director(void)
方法种删除
CC_SAFE_RELEASE(_notificationNode)这行
在
Director::purgeDirector()
方法种添加
if (_notificationNode) {
_notificationNode->onExit();
_notificationNode->cleanup();
_notificationNode->release();
}
完毕
转载于:https://blog.51cto.com/feeshao/1591157